Mar*_*rio 4 jquery jquery-selectors custom-data-attribute
我试图选择某个类的一些div元素但没有某些数据属性.例如,我有12个div,数据属性从1到12,我想选择所有这些除了数据属性为1,11和12的那些.这是我的(不工作)代码到目前为止:
$('div.randomize_class [data-value!=1],[data-value!=11],[data-value!=12]');
Run Code Online (Sandbox Code Playgroud)
目的是仅对匹配的div进行洗牌,并最终在结尾追加属性为1,11和12的div.混洗功能很好地工作,它只是选择选择类的一个子集.
所以在洗牌之后,我想只选择那些数据属性为1,11和12的人.我试过这个:
$('.randomize_class [data-value=1],[data-value=11],[data-value=12]')
Run Code Online (Sandbox Code Playgroud)
很高兴得到任何帮助!非常感谢你.
您应该.filter()与属性值选择器结合使用.
仅选择具有数据属性1,11和12的那些
$('.randomize_class').filter('[data-value=1],[data-value=11],[data-value=12]')
Run Code Online (Sandbox Code Playgroud)
选择除数据属性为1,11和12的数据之外的所有数据 :not()选择器或.not()函数排除元素
$('.randomize_class').filter(':not([data-value=1]),:not([data-value=11]),:not([data-value=12])')
Run Code Online (Sandbox Code Playgroud)
要么
$('div.randomize_class').not('[data-value=1],[data-value=11],[data-value=12]');
Run Code Online (Sandbox Code Playgroud)
你说你既想不选择data-value=1(11和12),也即你做想。
对于not情况,您可以使用:not:
$('div.randomize_class:not([data-value=1]):not([data-value=11]):not([data-value=12])');
Run Code Online (Sandbox Code Playgroud)
...它的优点是也可以在 CSS 中工作(不是我认为这真的适用于这里),前提是您只在内部使用简单的选择器:not(因为 CSS 定义:not只需要简单的选择器;jQuery 更进一步)。
或者它的表亲.not(:not文档建议通常是更好的选择):
$('div.randomize_class').not('[data-value=1], [data-value=11], [data-value=12])');
Run Code Online (Sandbox Code Playgroud)
对于选择的选项只有在data-value=1(11和12),你用一个简单的属性选择器系列做到这一点:
$('div.randomize_class[data-value=1], div.randomize_class[data-value=11], div.randomize_class[data-value=12])');
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2213 次 |
| 最近记录: |