我想在类中搜索具有在数组中匹配的data-id属性的元素,并隐藏它们。
HTML:
<li class="list" data-id="1">one</li>
<li class="list" data-id="2">two</li>
<li class="list" data-id="3">three</li>
<li class="list" data-id="4">four</li>
我有一个数组:
var dataIDcheck = ['1', '3']
关于如何搜索类.list并隐藏1和3(或数组中的任何内容)的任何想法?
答案 0 :(得分:2)
var dataIDcheck = ['1', '3'];
$('[data-id="' + dataIDcheck.join('"], [data-id="') + '"]').hide();
答案 1 :(得分:1)
$('.list').filter(function(){
return $.inArray($(this).data('id'),dataIDcheck) > -1
}).hide(); // <-- hides any elements that have data-id found in array
答案 2 :(得分:0)
var ids = [1, 3],
count = ids.length,
parts = [];
for (var i = 0; i < count; i++) {
parts.push('[data-id="' + ids[i] + '"]');
}
var selector = parts.join(',');
var elems = document.querySelectorAll(selector);
这适用于标准DOM(IE8 +),不需要任何库。您也可以查看querySelectorAll()
文档。
答案 3 :(得分:0)
for (id in dataIDcheck) {
$('.list[data-id=' + dataIDcheck[id] + ']').hide()
}
答案 4 :(得分:0)