Javascript 查找包含一个数组元素的元素
我有一个元素列表,每个元素都有一个数字ID,我正在创建一个过滤器对它们进行分组 其中一个过滤器必须采用数组中指定ID的元素 例如:Javascript 查找包含一个数组元素的元素,javascript,jquery,arrays,loops,Javascript,Jquery,Arrays,Loops,我有一个元素列表,每个元素都有一个数字ID,我正在创建一个过滤器对它们进行分组 其中一个过滤器必须采用数组中指定ID的元素 例如: var orgsID = [4002,4037]; //Show if it has one of the IDs from the array $('.event_item[data-id='+orgsID+']').addClass('show-item all'); 然后逐一检查LI是否有该ID。如果有,请出示该ID 这是过滤器: <ul id=
var orgsID = [4002,4037];
//Show if it has one of the IDs from the array
$('.event_item[data-id='+orgsID+']').addClass('show-item all');
然后逐一检查LI是否有该ID。如果有,请出示该ID
这是过滤器:
<ul id="e-filters">
<li class="active" id="all">All</li>
<li id="49504">SU Sports Events</li>
<li id="4002" class="sportsID">Sports Clubs Events</li> <!-- Get elements from array -->
</ul>
- 全部
SU体育赛事
体育俱乐部活动
名单如下:
<div id="e-list">
<div class="event_item" data-id="4219"></div>
<div class="event_item" data-id="4002"></div>
<div class="event_item" data-id="5146"></div>
<div class="event_item" data-id="4037"></div>
</div>
您可以这样做:
$('.event_item').filter(function() {
return jQuery.inArray($(this).data("id"), orgsID) > -1;
}).addClass('show-item all');
演示
var orgsID=[40024037];
$('.event_item').filter(函数(){
返回jQuery.inArray($(this.data(“id”),orgsID)>-1;
}).addClass('show-item all')代码>
。显示项目{颜色:蓝色;}
4219
4002
5146
4037
在数组上运行一个循环,检查这样的元素是否存在。如果存在,请添加类
orgsID.forEach(id => {
if($('.event_item[data-id='+id+']').length){
$('.event_item[data-id='+orgsID+']').addClass('show-item all');
}
})
orgsID[number],使其处于循环中