获取JavaScript中元素的每个child的每个child

获取JavaScript中元素的每个child的每个child,javascript,html,children,Javascript,Html,Children,假设我有一个元素,document.createElement(“div”),我们称它为myDivmyDiv.innerHTML=“”,现在myDiv有了一个孩子:adiv。这个div有一个孩子,一个p。我知道我可以使用myDiv.childNodes获取myDiv的child,使用myDiv.childNodes[0].childNodes获取div。但是现在我怎么才能像所有现存的孩子一样得到每个孩子的每个孩子呢?例如: myDiv.innerHTML = "<div><p&

假设我有一个元素,
document.createElement(“div”)
,我们称它为
myDiv
myDiv.innerHTML=“

,现在
myDiv
有了一个孩子:a
div
。这个
div
有一个孩子,一个
p
。我知道我可以使用
myDiv.childNodes
获取
myDiv
的child,使用
myDiv.childNodes[0].childNodes
获取
div
。但是现在我怎么才能像所有现存的孩子一样得到每个孩子的每个孩子呢?例如:

myDiv.innerHTML = "<div><p></p><i></i></div></p></p>"
myDiv.someMethod((childs) => {
   // childs should return the `div`, the `div`'s childs (`p` & `i`) and `p` 
})
myDiv.innerHTML=“

” myDiv.someMethod((childs)=>{ //childs应该返回'div','div'的childs('p`&'i`)和'p` })
您可以使用
元素。querySelectorAll

let div=document.createElement('div');
div.innerHTML=``;

console.log([…div.queryselectoral('*')])
您不需要知道哪些是孩子,哪些是孙子,更不用说他们是谁的孙子了?您希望以什么形式返回所有这些节点?所有节点都在一个数组中,即使有些节点是子节点,有些节点是其他节点和子节点。使用querySelectorAll如何?const childArray=Array.prototype.slice.call(myDiv.querySelectorAll('*'))