没有所有后代节点的JS的textContent

时间:2012-06-01 05:42:29

标签: javascript dom

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

textContent执行后面的操作。 nodeValue返回一个空字符串。

3 个答案:

答案 0 :(得分:3)

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

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/

答案 1 :(得分:2)

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

node.firstChild.textContent

答案 2 :(得分:0)

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