0
<div id="googlefy">    
<div class="skiptranslate">
    <div>....</div>
    <div id="">
    hello by
    <span style="white-space:nowrap">....<span>
    </div>
</div>

现在我想删除文本 hello by。我该怎么办?

当我使用$("#googlefy:contains('hello by')").remove(). 它删除所有的html。

4

4 回答 4

2

试试这个,它只会删除“hello by”

$('#googlefy').html($('#googlefy').html().replace(/hello\sby/, ""));
于 2013-01-15T11:13:46.960 回答
0
       $(".skiptranslate").find('div:last-child').text().replace('hello by','');
于 2013-01-15T12:05:39.697 回答
0

假设您不想删除特定文本但需要通用解决方案,此代码将删除 div 开头的所有文本:

var div = document.getElementById('yourid');
while(div.childNodes[0].nodeType==3)  
   div.removeChild(div.childNodes[0]);

示范

于 2013-01-15T11:13:51.267 回答
0

为了实用,我建议增强文档结构。您可以为要清除的元素添加一个类。

<div id="googlefy">    
<div class="skiptranslate">
    <div>....</div>
    <div>
    <span class="clear_this">hello by</span>
    <span style="white-space:nowrap">....<span>
    </div>
</div>

然后您可以使用或保留by 设置删除节点(包括<span>标签)$('.clear_this').remove()<span>$('.clear_this').text("")

另请注意,id在 html 中指定时不应为空。

于 2013-01-15T11:25:57.533 回答