jQuery 选择器,用于通过比较元素的两个数据属性来选择元素
jQuery selector for selecting an element by comparing its two data attributes
我想通过比较元素的两个数据属性来选择一个元素,如果它们是否相等。是否可能,如果是,如何?例如,我需要选择一个 Li
<li data-prevstate="true" data-currstate="false">
其中,以前的状态和当前状态相等。
<li data-prevstate="true" data-currstate="false">
<li data-prevstate="true" data-currstate="false">
<li data-prevstate="true" data-currstate="true">
<li data-prevstate="true" data-currstate="false">
<li data-prevstate="true" data-currstate="true">
可能是这个。?
$('li').filter(function() {
return $(this).data('prevstate') == $(this).data('currstate');
});
这将从上面给出的元素集中选择两个元素。
可能是这个?
var selected = '';
$('li').each(function() {
if($(this).attr('data-prevstate') == $(this).attr('data-currstate')) {
selected = $(this);
}
});
现在,您可以使用selected
执行任何操作
或按照建议:
var selected = '';
$('li').each(function() {
if($(this).data('prevstate') == $(this).data('currstate')) {
selected = $(this);
}
});
<ul>
<li data-prev="abc" data-curr="abc">Lorem Ipsum</li>
<li data-prev="abc" data-curr="abc">Lorem Ipsum</li>
<li data-prev="abc" data-curr="abc">Lorem Ipsum</li>
</ul>
<script>
$(document).ready( function(){
var matches = [];
$('li').each( function( i, o ){
$o = $(o);
if( $o.data('prev') == $o.data('curr') )
matches.push($o);
});
console.log(matches);
});
</script>
将获取当前和以前数据匹配的所有 li 项
相关文章:
- 两个指令创建新的继承的和隔离的作用域-元素得到哪个
- 如何在jQuery中包装两个元素的组
- JavaScript:当有两个B类元素时,如何在id X中的B类中选择A类
- 无法使以下ng on click outside指令在同一页面上的两个元素上工作
- Jquery:当两个或多个条件为true时,选择一个元素
- 如何按id查找两个类中任一类的子元素
- react-让一个元素返回两个相邻的<tr>标签
- 检查来自不同数组的两个元素的一个属性是否相等
- javascript函数包含两个元素和web音频api
- 如何比较两个字符串并删除jquery中的元素
- 将JQuery单击事件直接指向同一元素的两个
- 如何使用jQuery绕过具有指定类和两个条件的元素的函数
- 使用Javascript匹配两个HTML元素的高度
- 如何在两个动画画布元素之间进行通信
- 如何将日期和时间拆分为两个元素
- 检查最后两个元素
- 如何选择嵌套了两个 .each() 函数的多个元素
- 在两个元素的 onrender 事件之后执行函数
- 检查两个或多个 DOM 元素是否重叠
- 如何在同一个表中显示这两个嵌套ng重复的元素