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

标签 jquery jquery-selectors

我有以下 jquery 行

$('[genre*="'+$(this).attr('id')+'"]').fadeOut('fast');

它会淡出流派值包含该元素 id 值的元素。

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

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

哪里才是放置“不”的正确位置。

谢谢

最佳答案

您必须将其放在选择器前面

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

要获取更多信息和示例,请查看官方引用not

编辑

该选择器尤其会造成不良影响。你可以用这样的东西来修复它

$('[genre]').filter(':not([genre*="'+$(this).attr('id')+'"])').fadeOut('fast');​​​​​

关于jQuery 将 NOT 放入选择器的正确位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12621317/

相关文章:

jQueryUI - switchClass - 如何删除恰好应用的任何类,而不是需要规定需要删除的类?

javascript - 需要有关 jquery 选择器的帮助

jquery - 返回带有索引的同级

javascript - 使用动画 div 自动滚动网页

javascript - 单击 jQuery/JavaScript,列出 ID 的名称

javascript - 使用 ie11 更改 javascript 中的函数时遇到问题

jquery - 创建侧边菜单以在悬停时打开菜单(一次只能打开一个菜单)?

javascript - 选择变量/选择器和 $(this)

javascript - Ajax 自动刷新导致我的 jquery 嵌入脚本无休止地重复

jquery - webpack 无法加载模块 jquery