如何使用jQuery删除元素内的文本?

时间:2011-07-14 08:29:52

标签: javascript jquery html regex replace

我有一个脚本,可以创建一个具有如下结构的项目列表:

<li>
    <div>Some stuff</div>
    <a href="http://www.mysite.com/">New Item</a> 
    (1 vote)
</li>

我想知道是否有办法删除<div><a>标记之外的所有内容,在本例中为(1个投票)字符串,使用jQuery或常规javascript。

提前致谢!

3 个答案:

答案 0 :(得分:27)

这应该有用。

$("li").contents().filter(function(){ return this.nodeType != 1; }).remove();

或明确指定文本节点

$("li").contents().filter(function(){ return this.nodeType == 3; }).remove();

请参阅此fiddle

答案 1 :(得分:0)

$('li').not('div,a').text('') 

试试这个未经测试的

修改

$('li').contents().filter(function(){ return !(this.tagName == 'DIV' 
                                            || this.tagName == 'A');}).remove();

答案 2 :(得分:0)

$('li').html($(this).children())

你可以试试这个,它应该有效。干净又简单。