JavaScript获取textContent,不包括子项

dat*_*uoc 7 html javascript shared-libraries

首先,我正在为JavaScript创建一个库,我不能使用jQuery.我正在尝试获取HTML元素的文本内容而不包含其子元素的文本内容.

innerText和textContent这两个属性都没有给我需要的东西,请帮忙.

Rom*_*hin 6

Author's Name从以下元素中获取,不包括<span>...

<div class="details__instructor">
    Author's Name<span ng-show="job_title">, Entrepreneur</span>
</div>
Run Code Online (Sandbox Code Playgroud)

使用childNodes[0]。例如:

document.querySelector('div.details__instructor').childNodes[0].textContent
Run Code Online (Sandbox Code Playgroud)

  • 这将仅返回第一个子节点,仅此而已。所以我不知道这个答案是否被否决。(也许您错误地错过了在这里输入的确切逻辑) (2认同)

sup*_*rui 5

您可以解决将DOM API用作childNodes和nodeType的问题。

var elChildNode = document.querySelector("#hello").childNodes;
var sChildTextSum = "";

elChildNode.forEach(function(value){
    if(value.nodeType === Node.TEXT_NODE) { 
        console.log("Current textNode value is : ", value.nodeValue.trim());
        sChildTextSum += value.nodeValue;
    }
}); 

console.log("All text value of firstChild : ", sChildTextSum);
Run Code Online (Sandbox Code Playgroud)

我如上所述创建了一个示例代码。

https://jsfiddle.net/nigayo/p7t9bdc3/