jQuery 选择文本节点并删除其内容

标签 jquery text selection nodes

我一直在寻找这个问题的答案,然后我想到了这个

stackoverflow - How do I select text nodes with jQuery?

到目前为止还有其他方法可以做到这一点吗? 就我而言,我试图找到从给定 DOM 元素开始的每个文本节点,并且

empty()

它。有什么建议吗?

更新 - 经过一番困惑后我想出了这个 jsFiddle

现在,该函数选择每个文本节点,但不是仅用给定的新值替换空节点,而是替换所有文本节点。 我做错了什么??

最佳答案

引用此“现在,该函数选择每个文本节点,但不是仅用给定的新值替换空节点,而是替换所有文本节点。我做错了什么?'

需要的是,只需使用正则表达式测试 nodeValue 中的空格,然后在此基础上继续前进。

我已经像这样更新了它并且工作正常http://jsfiddle.net/Vj5LR/2/

$(document).ready(function(){

   var prova = ['1','2','3','4','5','6'];
   var regForNonWhiteSpace = /\S/; // non white space
   $('.example').find('*').each(function(){
       $(this).contents().filter(function(){
           //this.trim();
           if( this.nodeType === 3 && !regForNonWhiteSpace.test(this.nodeValue)){
               this.nodeValue = 'new value'; // only when there is no content at all
           }
       });
    });
});

希望能解决问题

关于jQuery 选择文本节点并删除其内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18694358/

相关文章:

javascript - 如何在未聚焦时隐藏 webui-popover (JQuery)

delphi - 使用资源管理器样式时,TListView 不会隐藏选择

java - 如何使用Java从XML中的特定标签获取文本?

css - 带 Bootstrap 的响应式字体

html - 右边的CSS图像和文字

javascript - 为什么在 JavaScript 中使用 getRangeAt() 会从选择中删除一些内容?

javascript - 如何使用旧版免费 JavaScript 将标记(不仅仅是纯文本)复制到剪贴板

jquery - 我如何随机换出一个div的内容

javascript - Backbone.js View

javascript - 根据选择下拉值填充文本框