获取没有以value开头的数据属性的所有列表项

时间:2016-01-26 20:54:50

标签: javascript jquery

我有一个元素列表,每个元素都有一个数据名属性。我想选择所有不以前缀" arc"开头的元素。并隐藏它们。

<ul id="slides">
  <li data-name="arc_1">...</li>
  <li data-name="arc_2">...</li>
  <li data-name="biz_1">...</li>
  <li data-name="biz_2">...</li>
  <li data-name="cas_1">...</li>
  <li data-name="cas_2">...</li>
  <li data-name="cas_3">...</li>
  <li data-name="prd_1">...</li>
</ul>

我尝试使用$('#slides li[data-name^="arc"]'),但它选择的是与其需要的相反。

1 个答案:

答案 0 :(得分:9)

使用:not()

$('#slides li:not([data-name^="arc"])')

$('#slides li:not([data-name^="arc"])').css('color','red')
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<ul id="slides">
  <li data-name="arc_1">...</li>
  <li data-name="arc_2">...</li>
  <li data-name="biz_1">...</li>
  <li data-name="biz_2">...</li>
  <li data-name="cas_1">...</li>
  <li data-name="cas_2">...</li>
  <li data-name="cas_3">...</li>
  <li data-name="prd_1">...</li>
</ul>