我需要仅在其祖父元素具有特定类时才切换元素的类。代码是这样的:
<ul>
<li class="active">
<a class"something" href="#"><span class="icon-a"></span></a>
</li>
<li>
<a class"something" href="#"><span class="icon-a"></span></a>
</li>
<li>
<a class"something" href="#"><span class="icon-a"></span></a>
</li>
</ul>
我尝试过的jQuery代码是:
if ($(".something span").parents('li').hasClass("active") && $(".something span").hasClass("icon-a")) {
$(".something span").toggleClass("icon-a").toggleClass("icon-b");
}
问题是所有的span元素都被其类切换了。如果祖父母元素<li>
具有“活动”类,我只需要切换。
答案 0 :(得分:1)
只需选择您所指的元素,然后忘记条件。
$('li.category.active > a.something > span.icon-a').addClass('icon-b');