首页 > 解决方案 > 隐藏所有 #id 不在给定数组中的元素

问题描述

我有一个包含元素 ID 的数组,例如:

let array = ['id1','id2'];

如何隐藏它#id不在之前给出的数组中的所有元素。

<div id="id1" class="shown">
<div id="id2" class="shown">
<div id="id3" class="shown">

<!-- Expected Result -->
<div id="id1" class="shown">
<div id="id2" class="shown">
<div id="id3" class="">

标签: htmljquery

解决方案


循环遍历所有具有id属性的元素。测试 ID 是否在数组中,并适当设置类。

$("div[id]").each(function() {
    $(this).toggleClass("shown", !array.includes(this.id));
});

推荐阅读