【问题标题】:How to get the text in a particular div only avoiding the text from nested divs?如何获取特定 div 中的文本仅避免嵌套 div 中的文本?
【发布时间】:2013-05-14 09:25:02
【问题描述】:

我有一个嵌套的div结构如下

    <div id =a>
      my content
    <div id =a1>
      irrelevant content
    </div>

    <div id= a2>
      irrelevant content
    </div>

    </div>

我知道我可以得到 id 为 "a" 的 div 的 innerText 为 document.getElementById('a').innerText 但这会给我类似的东西 my content irrelevant content irrelevant content 但我只想要该特定 div 中的内容,而不是与嵌套 div 的内容连接。我如何获得它?

【问题讨论】:

  • document.getElementById('a').childNodes[0]
  • innerText 在 Mozilla 中不起作用。使用textContent

标签: javascript html text get


【解决方案1】:

遍历直接子节点并过滤那些所谓的“文本节点”(即它们包含文本,而不是标签)。

var element = document.getElementById('a'),
result = "";
for (var i=0; i<element.childNodes.length; ++i) {
    if (element.childNodes[i].nodeType === 3) {
        result += element.childNodes[i].textContent;
    }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-04-19
    • 2023-03-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-03
    • 1970-01-01
    相关资源
    最近更新 更多