Как удалить класс из всех элементов jquery


84

Я меняю класс элемента следующим образом

  $("#"+data.id).addClass("highlight")

Учитывая список ниже.

 <div id="menuItems"> 
 <ul id="contentLeft" class="edgetoedge"> 
 <li  class="sep" ">Shakes and Floats</li> 
 <li id="297"><a href="#" onClick="cart('297','add')"><small>$5.00</small><b>Vanilla</b>     </a></li> 
 <li id="298"><a href="#" onClick="cart('298','add')"><small>$5.00</small><b>Peanut Butter</b></a></li> 
 <li id="299"><a href="#" onClick="cart('299','add')"><small>$5.00</small><b>Combo</b></a></li> 
 <li id="300"><a href="#" onClick="cart('300','add')"><small>$5.00</small><b>Chocolate</b></a></li> 
 <li id="301"><a href="#" onClick="cart('301','add')"><small>$5.00</small><b>Strawberry</b></a></li> 
 <li id="303"><a href="#" onClick="cart('303','add')"><small>$5.00</small><b>Banana</b></a></li> 
 <li id="304"><a href="#" onClick="cart('304','add')"><small>$5.00</small><b>Root Beer Float</b></a></li> 
 <li id="305"><a href="#" onClick="cart('305','add')"><small>$5.00</small><b>Espresso</b></a></li> 
 </ul>
 </div> 

Я предположил, что могу удалить класс с помощью этого ...

  $(".edgetoedge").removeClass("highlight");

Но это не работает. Как я могу удалить класс?

Ответы:


159

Вам нужно выбрать liтеги, содержащиеся в .edgetoedgeклассе. .edgetoedgeсоответствует только одному ulтегу:

$(".edgetoedge li").removeClass("highlight");

40

попробуйте: $(".highlight").removeClass("highlight");. Выбирая, $(".edgetoedge")вы запускаете только функции этого уровня.


Ваш ответ должен быть принят. Очень интересный трюк, ты спасешь мне день.
vietnguyen09

18

Это просто удаляет highlightкласс из всего, что имеет edgetoedgeкласс:

$(".edgetoedge").removeClass("highlight");

Я думаю, вы этого хотите:

$(".edgetoedge .highlight").removeClass("highlight");

.edgetoedge .highlightСелектор будет выбирать все , что ребенок что - то с edgetoedgeклассом и имеет highlightкласс.


2
+1 за возможность нацеливать предметы, не зная типа элемента.
Энди



1

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

$("div").removeClass("highlight");
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.