5

具体来说,我想说:对于class值不包含这个元素的ID值的元素,执行这个函数

例如,单击#foofadeOut()在其类不包含.foo在以下 HTML 中的列表项上执行:

<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该类。

4

3 回答 3

5

尝试

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

演示

于 2012-12-24T01:36:41.430 回答
0

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

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

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

于 2012-12-24T01:39:04.287 回答
0

您可以使用非选择器:http ://api.jquery.com/not-selector/

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

看:

http://jsfiddle.net/dSSza/

于 2012-12-24T01:43:16.187 回答