处理除当前单击的元素之外的所有元素

kin*_*005 4 html jquery

我想知道是否有一种方法可以在隔离当前单击的元素的同时更改子元素,到目前为止,我有一个带有click事件处理程序的简单遍历,如下所示:

$(function() {
    $(".hd").children("ul").children().each(function(){
        $(this).click(function(){

            alert('Handler for .click() called');//Test (remove after completion)
        });
    })
});

<!--HTML to manipulate>
    <div class="hd">
                            <h2>Important  Information</h2>
                            <ul>
                                <li><a href="#">Faculty</a></li>
                                <li><a href="#">Staff</a></li>
                                <li><a href="#">Students</a></li>
                            </ul>
                        </div>
Run Code Online (Sandbox Code Playgroud)

我所拥有的是<ul>我正在视为标签的链接.我要做的是在当前选中的<li>同时添加一个类,同时从<li>列表中的所有其他类中删除类.我想我可能会颠倒它,即点击处理程序应该先行,遍历应该进入.我的目标如下:

pro*_*son 6

$('.hd > ul > li').click(function(){
   $(this).addClass('myClass').siblings().removeClass('someClass');
});
Run Code Online (Sandbox Code Playgroud)

注意尼克和我的解决方案之间选择器的区别 - 我只会抓住每个级别的直接孩子,而他的意志将抓住所有ul li后代.