2

我想获取当前节点的文本内容,但不获取任何后代节点的文本内容。关于我如何做到这一点的任何想法?

textContent 是后者。nodeValue 返回一个空字符串。

4

3 回答 3

4

不确定是否有更简单的方法,但您始终可以遍历所有节点的子节点并获取文本节点的值。

var text = "";
var child = element.firstChild;

while(child) {
    if (child.nodeType === 3) { // nodeType === Node.TEXT_NODE
        text += child.nodeValue;
    }

    child = child.nextSibling;
}

console.log(text);

http://jsfiddle.net/zqbyE/

于 2012-06-01T06:29:45.943 回答
3

我遇到了同样的问题,并通过获取第一个孩子的 textContent 来解决它,这实际上是文本。因此代码变为:

node.firstChild.textContent
于 2017-10-01T15:30:38.993 回答
0

我刚刚在当前节点中创建了一个包含该节点特定 textContent 的跨度,并且正在为此获取 txt。我不知道......似乎比遍历所有节点的孩子更容易。还是)感谢你的建议!

于 2012-06-06T13:02:16.420 回答