Jquery不是数据选择器

时间:2016-12-06 17:52:05

标签: jquery attributes selector

这有效

  $('[data-department='+dept+']').closest('.person').hide();

所以期望这会显示/隐藏未选中的元素。

$('[data-department !='+dept+']').closest('.person').hide();

它没有按预期工作。即使是硬编码。

$('[data-department!=8]').closest('.person').hide();

1 个答案:

答案 0 :(得分:1)

$('[data-department !='+dept+']')会选择那些没有任何data-department属性为 A的元素。沃尔夫说。因此,您可以使用以下filter()方法。



$('[data-department]').filter(function() {
    return $(this).data('department') != 8;
}).closest('.person').hide();

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="person">
    <div data-department="8">
      8888888888888888
    </div>
</div>
<div class="person">
    <div data-department="9">
      9999999999999999
    </div>
</div>
<div class="person">
    <div data-department="10">
      1010101010101010
    </div>
</div>
&#13;
&#13;
&#13;