我需要按数据选择div,具有多个数据值。
<div data-name='["ab","abcd","abcdf"]' />
$("div[data-name*='ab']")
但是此解决方案会选择包含&#39; ab&#39;的所有div。 我只需要选择仅包含&#39; ab&#39;。
的div编辑:最佳解决方案:
<div data-name='["ab","abcd","abcdf"]' />
$("div[data-name*='ab\"']")
答案 0 :(得分:3)
最好.filter
列表:
$('div[data-name]').filter(function() {
return $.inArray("ab", $(this).data('name')) >= 0
});
即。选择具有div
属性的任何data-name
,然后明确选择其数组值包含所需元素的那些。
答案 1 :(得分:0)
试试这个:
HTML:
<div data-name='["ab","abcd","abcdf"]' />
<div data-name='["b","abcd","abcdf"]' />
<div data-name='["v","abcd","abcdf"]' />
<div data-name='' />
<div />
Jquery的:
var divList = [];
divList = $('div').filter(function() {
if($(this).data('name') != "")
return $.inArray("ab", $(this).data('name')) >= 0
});
alert(divList.length)