如何定位其类不包含此元素的ID的元素?

时间:2012-12-24 01:31:32

标签: jquery

具体来说,我想说:对于其类值不包含此元素的ID值的元素,执行此函数

例如,点击#foo将对以下HTML中类不包含fadeOut()的列表项执行.foo

<button id="foo">foo</button>
<button id="bar">bar</button>
<button id="baz">baz</button>
<ul>
    <li class="foo">Lorem</li>
    <li class="foo bar">Ipsum</li>
    <li class="baz">Dolor</li>
</ul>

因此,点击#foo后,最后一个列表项应该会消失,因为前两个列表项都包含.foo类。

3 个答案:

答案 0 :(得分:5)

尝试

$('button').on('click', function(){
    $('li:not(.'+this.id+')').fadeOut();
});

Demo

答案 1 :(得分:0)

您需要以某种方式选择按钮,以便附加活动。然后,您需要提取id并选择那些不包含该类的ID。以下是使用not方法的示例:

 $(':button').click(function(){
  $('li').not('.' + $(this).attr('id')).fadeOut(); 
});

http://jsfiddle.net/ureyes84/Fr7dm/2/

答案 2 :(得分:0)

您可以使用not selector:http://api.jquery.com/not-selector/

$('#foo').click(function() {
    $('li').not('.foo').fadeOut();
});​

请参阅:

http://jsfiddle.net/dSSza/