jQuery将NOT放在选择器中的正确位置

Ata*_*man 1 jquery jquery-selectors

我有以下jquery行

$('[genre*="'+$(this).attr('id')+'"]').fadeOut('fast');
Run Code Online (Sandbox Code Playgroud)

它使用类型包含此元素的id值的类型淡出元素.

然而,我想要实现的是淡出剩余的元素,而不是匹配的元素.所以像这样:

$('[genre*="'+$(this).attr('id')+'"]:not').fadeOut('fast');
Run Code Online (Sandbox Code Playgroud)

放"不"的地方在哪里.

谢谢

Cla*_*edi 5

你必须把它放在选择器前面

$(':not([genre*="'+$(this).attr('id')+'"])').fadeOut('fast');
Run Code Online (Sandbox Code Playgroud)

要获得更多信息和样品,请查看官方参考资料 not

编辑

特别是那个选择器会导致不希望的效果.你可以用这样的东西修复它

$('[genre]').filter(':not([genre*="'+$(this).attr('id')+'"])').fadeOut('fast');?????
Run Code Online (Sandbox Code Playgroud)