<div class="classDiv">
<span id="mySpan"> TEXT 1 </span> TEXT 2
</div>
使用 document.querySelectorAll(".classDiv")[0].textContent
返回 = TEXT 1 TEXT 2
我怎样才能只得到TEXT 2?
我尝试使用 :not(span) 但没有成功。
谢谢
最佳答案
据我所知,没有任何内置功能,但您可以添加一个函数来提取作为元素直接子元素的文本节点:
function getDirectText(node) {
var text = '';
for (var i = 0; i < node.childNodes.length; i++) {
var child = node.childNodes[i];
if (child.nodeType === 3) { // Node.TEXT_NODE
text += child.nodeValue;
}
}
return text;
}
然后:
var text = getText(document.getElementsByClassName('classDiv')[0]);
您可能还想 trim 空白的结果。
关于JavaScript querySelectorAll 和 :not Selector,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42193962/