从<div> </div>中删除文本

时间:2012-11-15 11:00:05

标签: javascript jquery

  

可能重复:
  Remove text with jQuery

我想删除div中的文字,但div包含其他节点。

如果我使用$("#hwiTestimonial").text("");,它也会删除<br/><div>。我怎样才能指定删除文本,没有任何节点?

<div id="hwiTestimonial">
    " Bla bla" 
    <br/>
    <div>....</div>
</div>

2 个答案:

答案 0 :(得分:12)

您可以filter元素的contents只留下文字节点:

$("#hwiTestimonial").contents().filter(function () {
    return this.nodeType === 3; // Text nodes only
}).remove();

这是working example

答案 1 :(得分:1)

你可以使用其中任何一个

$("#hwiTestimonial")
  .contents()
  .filter(function() {
    return this.nodeType == Node.TEXT_NODE;
}).remove();

或者您也可以将其用于旧的浏览器支持

$("#hwiTestimonial").contents().filter(function () {
    return this.nodeType === 3; // Text nodes only
}).remove();