我有一个元素列表,每个元素都有一个数字 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。如果有,请显示出来
这是过滤器:
<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>
这是列表:
<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 = [4002, 4037];
$('.event_item').filter(function() {
return jQuery.inArray($(this).data("id"), orgsID) > -1;
}).addClass('show-item all');
.show-item{ color: blue;}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="e-list">
<div class="event_item" data-id="4219">4219</div>
<div class="event_item" data-id="4002">4002</div>
<div class="event_item" data-id="5146">5146</div>
<div class="event_item" data-id="4037">4037</div>
</div>
关于javascript - 查找包含数组一个元素的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57251935/