<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。
答案 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]);
答案 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','');