这有效
$('[data-department='+dept+']').closest('.person').hide();
所以期望这会显示/隐藏未选中的元素。
$('[data-department !='+dept+']').closest('.person').hide();
它没有按预期工作。即使是硬编码。
$('[data-department!=8]').closest('.person').hide();
答案 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;