jQuery |删除li标签 [英] jQuery | Remove li tags
问题描述
我正在寻找解决方案以移除使用javascript数组过滤的< li>
标签。
var mygroups = [1,8,3,4,5]
示例(输入):
< li>< div> 1元素。 Bla bla bla< / div>< / li>
< li>< div> 2元素。 Bla bla bla。这是我的< span>帖子< / span>进入新群组< / div>< / li>
< li>< div> 3元素。 Bla bla bla。另一个< / li>
< li>< div>< a href =/ groups / viewgroup / 1-first-group>第一群< / a>< / div>< / li>
< li>< div> 5元素。 Bla bla bla。这是我的< span>新文章< / span>< / div>< / li>
< li>< div> 6元素。 < img alt =groups.wallclass =newsfeed-iconsrc =/ assets / favicon / default.png>< / div>< / li>
< li> 7元素。< / li>
< li>< div>< a href =/ groups / viewgroup / 8-second-group>第一组< / a>< / div>< / li>
< li>< div>< a href =/ groups / viewgroup / 16-other-group>第一群< / a>< / div>< / li>
< li>< div>< a href =/ groups / viewgroup / 5-tttt-group>第一组< / a>< / div>< / li>
如何获得此输出(移除所有不包含mygroups的实例):
< li>< div>< a href =/ groups / viewgroup / 1-first-group>第一组<一个>< / DIV>< /锂>
< li>< div>< a href =/ groups / viewgroup / 8-second-group>第一组< / a>< / div>< / li>
< li>< div>< a href =/ groups / viewgroup / 5-tttt-group>第一组< / a>< / div>< / li>
谢谢!
您真的应该引入某种标志(例如一个类名或一些 data -
属性)来标识< li>
节点,您不必显示。这样的详细检查需要扫描每个< li>
的整个HTML,这不是一个好习惯。然而,它可能看起来像这样:
$ $ $ $'''$'$('li')。each(function(_,node){
if(!/ group | groups / .test(node.innerHTML))
$(node).remove();
});
演示: http://jsfiddle.net/zkprg/
I'm searching a solution to remove <li>
tags filtered using javascript array.
var mygroups=["1","8","3","4","5"]
Example (input):
<li><div>1 element. Bla bla bla</div></li>
<li><div>2 element. Bla bla bla. This is my <span>post</span> into new group</div></li>
<li><div>3 element. Bla bla bla. Another one</li>
<li><div><a href="/groups/viewgroup/1-first-group">First group</a></div></li>
<li><div>5 element. Bla bla bla. This is my <span>new post</span></div></li>
<li><div>6 element. <img alt="groups.wall" class="newsfeed-icon" src="/assets/favicon/default.png"></div></li>
<li>7 element.</li>
<li><div><a href="/groups/viewgroup/8-second-group">First group</a></div></li>
<li><div><a href="/groups/viewgroup/16-other-group">First group</a></div></li>
<li><div><a href="/groups/viewgroup/5-tttt-group">First group</a></div></li>
How to get this output (Remove all instances which do not contain mygroups):
<li><div><a href="/groups/viewgroup/1-first-group">First group</a></div></li>
<li><div><a href="/groups/viewgroup/8-second-group">First group</a></div></li>
<li><div><a href="/groups/viewgroup/5-tttt-group">First group</a></div></li>
Thank you!
You really should introduce some kind of flag (a classname for instance or some data-
attributes) to identify <li>
nodes you don't have to display. Such a verbose check needs to scan the whole HTML for each <li>
, which is not a good practice. However, it could look like this:
$('li').each(function(_, node) {
if( !/group|groups/.test( node.innerHTML ) )
$(node).remove();
});
Demo: http://jsfiddle.net/zkprg/
这篇关于jQuery |删除li标签的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!