【问题标题】:jQuery: how to remove the text but not the children elementsjQuery:如何删除文本而不是子元素
【发布时间】:2010-04-26 16:40:47
【问题描述】:

我可以用 jQuery 只删除节点中的文本而不删除子元素吗?

谢谢

【问题讨论】:

    标签: jquery


    【解决方案1】:

    从某些 div 中删除所有文本元素的最佳且简单的解决方案是

    $("#firstDiv").contents().filter(function(){
        return (this.nodeType == 3);
    }).remove();
    

    【讨论】:

    • 优秀的解决方案。为我工作。
    • Nitin,兄弟你能解释一下吗?
    • 也适合我。你应该得到诺贝尔奖:)
    • 如果需要替换文字,请将remove()替换为replaceWith("new text")
    • 很好 - 也为我工作
    【解决方案2】:

    这对我有用:

    $(elem).html($(elem).html().replace($(elem).text(),''));
    

    这里设置html内容不包含文本内容,意思是elem里面的任何html标签都会保持不变。

    之前:

    <div>Hello<input type="text" name="username" value="world!"/></div>
    

    之后:

    <div><input type="text" name="username" value="world!"/></div>
    

    再见

    【讨论】:

    • 请添加一些解释。
    • 这有一些问题:1) 使用替换等字符串函数编辑 HTML 会破坏标记(例如,如果文本是 ' ' 或 '"'),2) 任何与文本匹配的内容被替换(例如,如果文本是 'user',那么 name 属性将会改变),3)如果文本在孩子之间展开,它将不起作用(例如。“
      Hello
      World
      ")
    【解决方案3】:

    这是我的想法:

    function removeText(element){
      var newElement = $('<' + element[0].nodeName + '/>');
      for(i=0; i < item.attributes.length; i++) {
        newElement.attr(item.attributes[i].name, item.attributes[i].value);
      } 
      element.children().each(function(){
        newElement.append(this);
      });
      element.replaceWith(newElement);
    }
    

    【讨论】:

    • 函数 stripText(element) { var item = element[0]; var newElement = $(''); for (i=0; i
    • +1 Mandrake 的解决方案解决了元素属性被移除的问题。
    【解决方案4】:

    在 HTML 中为它们设置一个类并在 jQuery 中使用 empty() 方法对我来说更容易。

    【讨论】:

    • OP 在询问文本节点。您不能将类添加到文本节点
    【解决方案5】:

    你不能这样做。除非它被一个元素包裹。

    【讨论】:

      【解决方案6】:
      $('#someElement').text('');
      

      【讨论】:

      • 你确定吗?它也删除了孩子。也许是因为我使用 jquery 1.2.3
      • 这也会删除 1.4.2 中的所有子节点
      • 鲁德主义是正确的。它会删除元素中的所有内容,包括子元素。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-05-10
      • 2013-07-18
      • 2018-11-08
      • 2011-10-05
      • 1970-01-01
      相关资源
      最近更新 更多