Я меняю класс элемента следующим образом
$("#"+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");
Но это не работает. Как я могу удалить класс?
Это просто удаляет
highlight
класс из всего, что имеетedgetoedge
класс:$(".edgetoedge").removeClass("highlight");
Я думаю, вы этого хотите:
$(".edgetoedge .highlight").removeClass("highlight");
.edgetoedge .highlight
Селектор будет выбирать все , что ребенок что - то сedgetoedge
классом и имеетhighlight
класс.источник
Вы можете попробовать это:
$(".edgetoedge").children().removeClass("highlight");
источник
$(".edgetoedge>li").removeClass("highlight");
источник
Лучше всего удалить класс в jquery из всех элементов, чтобы настроить таргетинг через тег элемента. например,
$("div").removeClass("highlight");
источник