jQuery 选择类但不选择某些数据属性

标签 jquery jquery-selectors custom-data-attribute

我试图选择某个类的多个 div 元素,但没有某些数据属性。例如,我有 12 个 div,其数据属性从 1 到 12,我想选择除数据属性为 1、11 和 12 之外的所有 div。这是迄今为止我的(不起作用)代码:

$('div.randomize_class [data-value!=1],[data-value!=11],[data-value!=12]');

目的是仅对匹配的 div 进行打乱,并最终将属性为 1、11 和 12 的 div 添加到末尾。混洗函数工作得很好,它只是选择 select 类的子集。

所以在洗牌之后,我只想选择那些数据属性为 1、11 和 12 的数据。我尝试了以下方法:

$('.randomize_class [data-value=1],[data-value=11],[data-value=12]')

很高兴获得任何帮助!非常感谢。

最佳答案

您应该使用.filter()与属性值选择器结合使用。

仅选择数据属性为 1、11 和 12 的数据

$('.randomize_class').filter('[data-value=1],[data-value=11],[data-value=12]')

选择除数据属性 1、11 和 12 之外的所有属性。 :not() Selector.not()排除元素的函数

 $('.randomize_class').filter(':not([data-value=1]),:not([data-value=11]),:not([data-value=12])')

或者

$('div.randomize_class').not('[data-value=1],[data-value=11],[data-value=12]');

关于jQuery 选择类但不选择某些数据属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34741543/

相关文章:

javascript - mocha.globals 是 "undefined"

jquery - jQuery 索引() 的问题

javascript - CodeMirror更改模式没有样式

JQuery *(所有元素)选择器,不包括具有某些类的跨度标签。我怎样才能做到这一点?

jQuery:检测元素是否存在

javascript - 在 React 中使用类名、ID 和数据属性时的最佳实践是什么

javascript - 无法将数据 ID 设置为 HTML 元素

javascript - 如何有条件地加载 jQuery 插件?

jquery - jQuery 中巧妙的下一个和上一个按钮

javascript - 在 jquery 中使用边距和宽度进行数学运算