1

仅当其祖父元素具有特定类时,我才需要切换元素的类。代码是这样的:

<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>如果祖父元素具有“活动”类,我只需要切换。

4

1 回答 1

1

只需选择您的意思的元素,而忘记条件。

$('li.category.active > a.something > span.icon-a').addClass('icon-b');
于 2013-08-07T04:09:12.363 回答