Javascript 如何从包含子对象的div中获取文本

Javascript 如何从包含子对象的div中获取文本,javascript,children,nodevalue,child-nodes,Javascript,Children,Nodevalue,Child Nodes,我目前正在学习JavaScript,我有以下问题。是否可以只从包含子对象的div中获取文本?我设法使它只适用于在div的孩子们面前出现的文本 PS:我想提到的是,我正试图只用纯JavaScript实现这一点 var Class=document.querySelectorAll('div,b'); 对于(变量i=0;i或者所有文本都期待这些名字??!?!!!!!!bad@nelek我想将文本分成三部分。首先是标记前的文本,然后是标记之间的文本,最后是结束标记后的文本。@D排名第一的anileH

我目前正在学习JavaScript,我有以下问题。是否可以只从包含子对象的div中获取文本?我设法使它只适用于在div的孩子们面前出现的文本

PS:我想提到的是,我正试图只用纯JavaScript实现这一点

var Class=document.querySelectorAll('div,b');
对于(变量i=0;i

我叫约翰·多伊,来自德克萨斯州
我叫Jean Frye,来自阿拉巴马州

您可以使用
innerText
仅获取所选元素的文本

var Class=document.querySelectorAll('div');
对于(变量i=0;i

我叫约翰·多伊,来自德克萨斯州
我叫Jean Frye,来自阿拉巴马州
var Class=document.querySelectorAll('div');
对于(变量i=0;i
输出:-

[“我的名字是”,“约翰·多伊”,“我来自德克萨斯州”]

[“我的名字是”“Jean Frye”“我来自阿拉巴马州”]


这可能会奏效。

这不是一种非常干净的方式,但请尝试以下方法:

//使用Bio css类获取所有div(您可以更改它)
var Class=document.querySelectorAll('.Bio');
var sp=document.getElementById('res');
var-arr=[]//我将结果放入数组中,以便您可以在需要的地方使用它
对于(变量i=0;i对于(var x=0;席,小一点,不理解……你只想,例如,代码>某个身份不明的人< /Cord>和<代码> Jean Frye < /> >或者所有文本都期待这些名字??!?!!!!!!bad@nelek我想将文本分成三部分。首先是标记前的文本,然后是标记之间的文本,最后是结束标记后的文本。@D排名第一的anileH我没有否决你的答案…现在,关于你的答案-结果是
未定义
未定义
。)@DanileH我已经尝试过这种方法。但是,使用这种方法,您正在破坏主div中的HTML标记。这就是为什么我尝试将文本分成三部分。首先,将是标记前的文本,然后是标记之间的文本,最后是结束标记后的文本。PS:我想说的是,如果您打印同样的结果,粗体文本将消失。此外,innerHTML将不起作用,因为将来如果你想编辑它,你也将格式化HTML代码。不幸的是,我不想只打印名称,而是将句子分为三部分。首先,将是标记前的文本,然后是标记和最后一个t之间的文本他在结束标记后发了一条短信。非常感谢。我需要一些时间来理解这段代码中到底发生了什么,但正如我在结果中看到的,这正是我想要的。
var Class = document.querySelectorAll('div');

for (var i=0; i < Class.length; i++){
   var children = [];
   var boldText = Class[i].querySelectorAll('b')[0].innerText;
   var otherText = Class[i].innerText.split(Class[i].querySelectorAll('b')[0].innerText)

   children.push(otherText[0]);
   children.push(boldText);
   children.push(otherText[1]);
   
   console.log(children);
}