Подтвердить что ты не робот

Используйте jQuery для удаления встроенного стиля

<div class="mydiv">
  <ul style="height:111px; width:222px;">
    ...

Возможно ли, если jQuery (или простой javascript) удаляет только атрибут height? Обратите внимание, что существует несколько экземпляров .mydiv ul с разной высотой.

4b9b3361

Ответ 1

Чтобы удалить атрибут, используйте это:

$(".mydiv UL").css("height", "");

Благодаря мне не нравится для исправления моего ответа.

Ответ 2

Да! Вы можете!

Если вы установите для свойства css пустое значение, оно очистит его.

Итак, если ваш встроенный стиль "background: pink", вы можете удалить его через:

$element.css('background','')

Я уверен, что узнал, что где-то здесь, на SE, но, увы, не имеет конкретного источника для сайта, поэтому приношу извинения за то, что он не смог дать кредит, в котором должен быть кредит.

UPDATE:

Ну, я полагаю, я должен был пойти к источнику. Из документации jQuery (акцент мой):

Установка значения свойства style в пустую строку - например. $('# mydiv'). css ('color', '') - удаляет это свойство из элемента, если оно уже было применено непосредственно, будь то в атрибуте стиля HTML, через метод jQuery.css() или через прямой DOM манипулирование свойством style. Однако он не удаляет стиль, примененный с помощью правила CSS в таблице стилей или элементе.

http://api.jquery.com/css/

Ответ 3

попробуйте следующее:

$('.mydiv ul').height('');

Ответ 4

Да, это... dpeneding о том, как вы хотели бы это сделать

<script type="text/javascript">
    function changestyle(element) {
        var currentstyle = document.getElementById(element).style.display;
        if (currentstyle == "inline") {
            document.getElementById(element).style.display = "";
            } else {
            document.getElementById(element).style.display = "inline";
        }
    }
</script>

это может незначительно отличаться для разных браузеров, но оно должно показать вам, как изменить его, если хотите.

eek.. игнорировать.. jquery - намного проще:)

Ответ 5

добавьте свой атрибут стиля в CSS, а затем вы можете добавить или удалить класс с помощью этих функций jQuery: addClass и removeClass

Ответ 6

$('.mydiv ul').each(function(){
    $(this).attr('style', $(this).attr('style').replace('height: ', 'height:').replace('height:'+$(this).css('height')+';', '')); 
});

просто убедитесь, что формат значения стиля "height:111px;" или "height: 111px;"