如何删除div中的文本?

时间:2013-01-15 11:10:52

标签: jquery

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

现在我想删除文本问候。我该怎么办?

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

4 个答案:

答案 0 :(得分:2)

试试这个,它只会删除“你好”

$('#googlefy').html($('#googlefy').html().replace(/hello\sby/, ""));

答案 1 :(得分:0)

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

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

Demonstration

答案 2 :(得分: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>

然后,您可以使用<span>删除节点(包括$('.clear_this').remove()标记),或通过设置<span>

来保留$('.clear_this').text("")

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

答案 3 :(得分:0)

       $(".skiptranslate").find('div:last-child').text().replace('hello by','');