我在网上搜索了一下,但没有找到解决我问题的方法。这是我的选择器:
jQuery('[data-group="' + a + '"]').show()
a
是swimming
或任何字词。在HTML中它看起来像这样:
<div data-group="swimming">...</div>
因此上面的选择器会显示div a = swimming
。现在让我们说数据组包含单词simming,但它不是唯一的一个,如下所示:
<div data-group="swimming,driving,flying">...</div>
如果a = swimming
,如何选择带选择器的div?我希望你知道我的意思:)。
谢谢!
答案 0 :(得分:3)
您可以使用值contains selector:
jQuery('[data-group*="' + a + '"]').show();
但swimming
等于a
的匹配swim
。
如果重要,请使用例如
过滤它jQuery('[data-group]').filter(function(){
return this.dataset.group.split(',').indexOf(a) != -1
}).show();
如果您也可以更改HTML标记,那就更好了:
<div data-group="swimming driving flying">...</div>
然后你可以使用:
jQuery('[data-group~="' + a + '"]').show();
答案 1 :(得分:1)
您也可以使用.filter()
jQuery('[data-group]').filter(function(){
return $(this).data('group').split(',').indexOf(a) > -1; //Convert to an array an check whether elements exist in array
//Using native code
//return this.dataset.group.split(',').indexOf(a) > -1
}).show();