Select 具有 jQuery 特定数据属性的元素

Select element with particular data attributes with jQuery

如何 select 具有特定数据属性的元素和具有 jQuery 的特殊 class 元素?

例如,我想select这些元素:

<div data-roomid="55" data-status="NoData"></div>
<div data-roomid="55" data-status="Open"></div>
<div data-roomid="55" data-status="Close"></div>

但不是这个:

<div data-roomid="55" data-status="Book"></div>

我的尝试如下:

roomid = 55;
$('[data-roomid="'+ roomid +'"]').each(function(e) {

});

谢谢。

您可以使用 :not 选择器 - 请参阅下面的演示:

var roomid = 55, status = 'Book';
$('[data-roomid="' + roomid + '"]:not([data-status=' + status + '])').each(function() {
  $(this).css({
    color: 'blue'
  });
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div data-roomid="55" data-status="NoData">NoData</div>
<div data-roomid="55" data-status="Open">Open</div>
<div data-roomid="55" data-status="Close">Close</div>
<div data-roomid="55" data-status="Book">Book</div>

这是您要找的吗?

$('div:not([data-status=Book])[data-roomid='+ roomid +']')