2015-05-27 3 views
6

У меня есть DIV с некоторым классом и добавить некоторые CSS, используя JqueryJquery removeClass не удаляет связанные стили

$('.myClass').css("position","absolute"); 

После нескольких шагов я удалить класс myClass, используя

$('.myDiv').removeClass('myClass'); 

Но стиль position:absolute не снимается.

Любая помощь будет очень признательна.

+1

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

+0

@ajai $ ('. MyClass').CSS ("положение", "абсолютный"); означает, что вы непосредственно вставляете стили в div не в класс – Optimus

+0

Как я могу прикрепить стили к этому классу? Потому что я хочу удалить эти стили после нескольких шагов. – Ajai

ответ

4

Пожалуйста, используйте removeAttr('style').

Какая функция jquery удаляет элемент element.style.

+0

Спасибо Абин, вы спасли мой день :) – Ajai

+2

Я думаю, что это плохой подход, потому что он может удалить другие встроенные стили, которые изначально были в HTML – AmmarCSE

1

Это происходит потому, что, когда вы сделали

$('.myClass').css("position","absolute"); 

он добавил стиль встроенный

Calling addClass добавит стиль по имени от стиля-листа.

Вызов css применит стили inline к элементу.

Чтобы удалить стиль, который применяется с css, просто сделать

$('.myClass').css("position",""); 
+0

, если у него есть только одна позиция стиля. $ (». MyClass') CSS ("позиция", ""); просто, иначе это будет длительное кодирование. Лучше всего использовать функцию jquerys по умолчанию для удаления attr: removeAttr() –

0

position:absolute не привязан к классу

Когда мы удаляем класс, он удаляет стиль, определенный с ним, как определяющий стиль Файлы CSS

0

Вы не можете сделать это, используя текущий код лучший способ создать новый класс CSS, как этот

.position-absolute{ 

position:absolute; 
} 

в добавить этот класс в DIV

$('.myDiv').addClass('position-absolute'); 

и удалить класс после использования

0

Когда вы пишете $ ('. myClass'). css ("position", "absolute");

Это означает, что вы выбираете div с классом «myClass» и добавляете этот стиль к этому конкретному div.

Но когда вы пишете $ ('. MyDiv'). RemoveClass ('myClass');

Это означает, что вы выбираете div с классом «myDiv» и удаляете этот класс с именем «myClass». Но этот класс не включает этот стиль («позиция», «абсолют»), поэтому он не будет удален.

Смежные вопросы