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

現在我想刪除文本你好。我該怎麼做?如何刪除div中的文本?

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

回答

2

試試這個,它只會刪除「你好通過」

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

這隻適用於特定的文本... –

+1

是的,正是OP要求的,不是嗎? – devnull69

0

假如你不想刪除特定的文本,但需要一個通用的解決方案,這個代碼刪除所有文本在div的開始:

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

Demonstration

+0

,因爲那時是錯誤的 – devnull69

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> 

然後你可以使用$('.clear_this').remove()刪除節點(包括<span>標籤),或者通過設置$('.clear_this').text("")

還要注意的是id在HTML中指定時,不應爲空守<span>

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