我有一个脚本,它创建了一个类似以下结构的项目列表:
<li>
<div>Some stuff</div>
<a href="http://www.mysite.com/">New Item</a>
(1 vote)
</li>
我想知道是否有一种方法可以使用jQuery或常规javascript删除除了<div>
和<a>
标签之外的所有内容,例如(1 vote)字符串。提前感谢!
我有一个脚本,它创建了一个类似以下结构的项目列表:
<li>
<div>Some stuff</div>
<a href="http://www.mysite.com/">New Item</a>
(1 vote)
</li>
我想知道是否有一种方法可以使用jQuery或常规javascript删除除了<div>
和<a>
标签之外的所有内容,例如(1 vote)字符串。这应该可以工作。
$("li").contents().filter(function(){ return this.nodeType != 1; }).remove();
或者通过明确指定文本节点
$("li").contents().filter(function(){ return this.nodeType == 3; }).remove();
请看这个fiddle。
$('ul li').contents().filter(function() { return this.nodeType == Node.TEXT_NODE; }).remove();
- Javier Villanueva$('li').html($(this).children())
.empty().append(children)
,但在执行此操作之前,你必须先存储子元素。 - megawac$('li').not('div,a').text('')
尝试这个,未经测试
编辑
$('li').contents().filter(function(){ return !(this.tagName == 'DIV'
|| this.tagName == 'A');}).remove();