Javascript 隐藏与字符串匹配的所有li元素
我有一个列表,我想隐藏包含特定文本的所有li元素。我们可以这样说:Javascript 隐藏与字符串匹配的所有li元素,javascript,jquery,css,asp.net-mvc,Javascript,Jquery,Css,Asp.net Mvc,我有一个列表,我想隐藏包含特定文本的所有li元素。我们可以这样说: <ul> <li>text historical</li> <li>text</li> <li>text</li> <li>text</li> <li>text historical</li> <li>text</li> <li
<ul>
<li>text historical</li>
<li>text</li>
<li>text</li>
<li>text</li>
<li>text historical</li>
<li>text</li>
<li>text historical</li>
</ul>
- 文本历史
- 正文
- 正文
- 正文
- 文本历史
- 正文
- 文本历史记录
那么,我怎样才能隐藏所有包含“历史”的李元素呢?这个列表是动态的,会随着时间的推移而变化 使用jQuery的
each()尝试以下操作:
$('ul>li')。每个(函数(){
if($(this).text()包括('historical'))
$(this.hide();
})
- 文本历史
- 正文
- 正文
- 正文
- 文本历史
- 正文
- 文本历史记录
您可以使用正则表达式筛选历史li的
var lis=document.querySelectorAll('li');
Array.prototype.forEach.call(lis,function(li){
if(li.textContent.match(/historical/g)){
li.remove();
}
});代码>
- 文本历史
- 正文
- 正文
- 正文
- 文本历史
- 正文
- 文本历史记录
您可以使用。在代码片段中有一个示例
var text='text historical';
$('ul li:contains('+text+'))。每个(函数(){
$(this.hide();
});代码>
- 文本历史
- 正文
- 正文
- 正文
- 文本历史
- 正文
- 文本历史记录
您可以使用此选择器:li:contains('historical')
看看这个代码片段
一行代码
$(“#target>li:contains('historical')”).hide()代码>
- 文本历史
- 正文
- 正文
- 正文
- 文本历史
- 正文
- 文本历史记录
&@SanchitPatiyal$(“li:contains('historical'))).hide();var ch=$(“.selected drop”).children;对于(var i=0;ch=0){ch[i].remove();};}$(“li:contains('historical')”).hide()代码>不起作用?@MihaiT我已经尝试过了,但似乎不起作用删除
!==hide
@Andy,谢谢你提醒我。在这个例子中有效。在我的例子中根本不起作用。无法共享我的代码,所以我想我必须继续尝试是的,我已经尝试过了,但它在我的情况下不起作用,我也不知道why@Patte非常奇怪,这是完成你的场景最干净的方法。祝你好运现在我只是觉得自己很傻,每次点击列表都会得到项目(我没有这么做),我甚至没有看到它,因为有这么多文件。但我设法让它在服务器端代码上工作。谢谢你的帮助(tho:)