javascript - 当两个可能的 .data 属性之一具有所需值时,在 jQuery 中选择元素

标签 javascript jquery

我的问题相当简单,但我找不到现有答案:

如果元素的两个可能的数据属性之一是“X”,我想选择元素的子集。

我的选择器目前看起来像这样:

$('.line').data('identifier1', 'X');

我想使用 OR 语句添加到同一个选择器.data('identifier2', 'X'),如果 jQuery 可以的话?

因此,结果应该是,如果所有 .line 元素的 data-identifier1 或 data-identifier2 中的值为“X”,则它们都会被选择。

这是一个仅缺少 OR 语句的代码片段:

let myCollection = $('.line').data('indentifier1', "X");

console.log(myCollection);

//myCollection should get divs 1,3,4 but not 2
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="line" data-identifier1="X" data-identifier2="Y">1</div>
<div class="line" data-identifier1="Y" data-identifier2="Y">2</div>
<div class="line" data-identifier1="Y" data-identifier2="X">3</div>
<div class="line" data-identifier1="X" data-identifier2="X">4</div>

最佳答案

您可以像这样查询 data 属性,并使用 , 作为 or

 let myCollection = $('.line[data-identifier1="X"],.line[data-identifier2="X"]');
 console.log(myCollection);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="line" data-identifier1="X" data-identifier2="Y">1</div>
<div class="line" data-identifier1="Y" data-identifier2="Y">2</div>
<div class="line" data-identifier1="Y" data-identifier2="X">3</div>
<div class="line" data-identifier1="X" data-identifier2="X">4</div>

关于javascript - 当两个可能的 .data 属性之一具有所需值时,在 jQuery 中选择元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71149307/

相关文章:

javascript - KineticJS setScale/Zoom 问题 - 随机线

javascript - jQuery 的 removeClass 方法返回什么?

javascript - 无法以 Angular 4 : Cannot load css 加载圆滑转盘

javascript - jQuery 将自定义函数绑定(bind)到附加元素

javascript - 类型错误 : Cannot read property '0' of undefined in angular2 for using index in datepicker

javascript - 如何使用 window.location.href 下载多个文件?

javascript - 纯 Javascript 监听输入值变化

javascript - 如何在普通 javascript 中使用类触发特定 html 元素上的事件

javascript - jQuery 似乎没有克隆事件,而只是克隆 html/xml?

javascript - 复杂分组 : Array Reduce