删除或隐藏不属于数组的特定类的元素

时间:2018-11-30 16:10:06

标签: javascript jquery

说一个数组包含元素“ 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>

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

1 个答案:

答案 0 :(得分:0)

您可以使用.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>