jQuery按数据值排除元素
jQuery exclude element by data value
我有这个HTML代码:
<ul class="chosen-results">
<li data-value="-">-</li>
<li data-value="145">145</li>
<li data-value="170">170</li>
<li data-value="300">300</li>
</ul>
<ul class="chosen-results">
<li data-value="-">-</li>
<li data-value="0">No</li>
<li data-value="1">Yes</li>
</ul>
我需要隐藏所有具有与值数组匹配的数据值的元素。我已经试过了:
var array = ['145', '0', '300'];
var $li = $('.chosen-results li').filter(function(i) {
return $(this).data('value') != array[i];
});
但是$li包含所有<li元素!
尝试在此上下文中使用Array.prototype.indexOf()
,
var array = ['145', '0', '300'];
var $li = $('.chosen-results li').filter(function(i) {
console.log( typeof $(this).data('value'));
return array.indexOf($(this).data('value') + "") > -1;
}).hide();
演示
这是有效的-创建一个要隐藏的元素数组,然后迭代它,并使用正则表达式过滤器,如果元素匹配,则隐藏它。注意,这也可以反过来操作-只需隐藏函数顶部的所有li,然后将.hide()转换为.show()即可显示匹配的元素。唯一的问题是,我必须将是/否值设置为"00"answers"01",以确保它们是唯一的,而不仅仅是匹配"0"answers"1"。
$(function()
{
var list=["145","300","00"];
$('.chosen-results li').each(function(){
for (i=0;i<list.length;i++)
{
var rex = new RegExp(list[i], 'i');
$('.chosen-results li').filter(function() {
return rex.test($(this).attr('data-value'));
}).hide();
}
})
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<link rel="stylesheet" href="style.css" />
<title>List Filter</title>
</head>
<body>
<ul class="chosen-results">
<li data-value="-">-</li>
<li data-value="145">145</li>
<li data-value="170">170</li>
<li data-value="300">300</li>
</ul>
<ul class="chosen-results">
<li data-value="-">-</li>
<li data-value="00">No</li>
<li data-value="01">Yes</li>
</ul>
</body>
</html>
相关文章:
- 使用 jQuery 创建可单击的行并排除子元素
- getElementsByTagName排除元素(筛选器)
- 如何将元素添加到动态数组并排除现有元素
- jQuery按数据值排除元素
- 排除基于先前ElementSibling的元素
- 获取元素的内部文本,但排除隐藏的子元素
- 我可以在 ReactJS 中排除原始元素的子元素吗?
- 如何在绑定事件期间排除元素
- 如何在文档单击时排除元素
- 从 hide() 操作中排除父元素及其子元素
- TinyMCE - 排除元素
- 从预加载中排除元素
- 如何在jquery.click()事件中排除元素类作为目标
- 如何从ng单击操作中排除元素
- Jquery从HTML方法中排除元素
- 从jQuery选择中排除元素
- 排除元素被cufon替换
- 从对象循环中排除元素
- Jquery:排除元素
- 从单击事件处理程序 (jquery) 中排除元素