首页 > 解决方案 > 删除或隐藏不属于数组的特定类的元素

问题描述

假设一个数组包含元素 "socket io ids": ["Uv1E69LxlAE0Ux9iAAAB","Fm4EVQIoUM7O_JdvAAAI"],在 html 页面中有如下元素:

<li class="p-mfq6XcxKLpuOf0AAAH">some data1</li>
<li class="Uv1E69LxlAE0Ux9iAAAB">some data2</li>
<li class="Fm4EVQIoUM7O_JdvAAAI">some data3</li>

我正在寻找删除或添加类到其类不属于数组的第一个元素

标签: javascriptjquery

解决方案


.filter()您可以使用过滤后的元素非常轻松地做到这一点。在函数中用于.indexOf()检查元素类是否存在于数组中。

var arr = ["Uv1E69LxlAE0Ux9iAAAB","Fm4EVQIoUM7O_JdvAAAI"];

$("ul li").filter(function(){
  return arr.indexOf($(this).attr("class")) == -1;
}).hide();
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<ul>
  <li class="p-mfq6XcxKLpuOf0AAAH">some data1</li>
  <li class="Uv1E69LxlAE0Ux9iAAAB">some data2</li>
  <li class="Fm4EVQIoUM7O_JdvAAAI">some data3</li>
</ul>


推荐阅读