我的问题相当简单,但我找不到现有答案:
如果元素的两个可能的数据属性之一是“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/