获取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
有了一个孩子:adiv
。这个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('*'))