JavaScript querySelectorAll 和 :not Selector

标签 javascript css-selectors

<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/

相关文章:

c# - 如何使 Accordion 标题在页面加载时全部折叠?

CSS 选择器只有在 <tag>有内容</tag> 时才有效

:hover does not work 的 Sass 嵌套

CSS 在多个同名元素中首先选择

javascript - odata ajax调用出错

javascript - 从 Handlebars 调用 Javascript 函数

javascript - 如何从 Highcharts 中的系列设置工具提示边框颜色

javascript - 带有javascript的按钮标签转换为链接标签

javascript - 为什么 getComputedStyle 不能使用像 :hover? 这样的伪类

html - 需要帮忙。基本的 HTML/CSS。标题不变色