获取 JavaScript 中元素的每个子元素的每个子元素
Get every childs of every childs of an element in JavaScript
假设我有一个元素 document.createElement("div")
,我们称它为 myDiv
myDiv.innerHTML = "<div><p></p></div>"
,现在 myDiv
有一个 child:一个 div
。而这个div
有一个child,一个p
。我知道我可以使用 myDiv.childNodes
获得 myDiv
的 child,使用 myDiv.childNodes[0].childNodes
可以获得 div
。但是现在我怎样才能得到每个 childs 中的每个 childs,就像存在的每个 childs 一样?示例:
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`
})
你可以使用Element.querySelectorAll
let div = document.createElement('div');
div.innerHTML = `<div><p></p><i></i></div><p></p>`;
console.log([...div.querySelectorAll('*')])
假设我有一个元素 document.createElement("div")
,我们称它为 myDiv
myDiv.innerHTML = "<div><p></p></div>"
,现在 myDiv
有一个 child:一个 div
。而这个div
有一个child,一个p
。我知道我可以使用 myDiv.childNodes
获得 myDiv
的 child,使用 myDiv.childNodes[0].childNodes
可以获得 div
。但是现在我怎样才能得到每个 childs 中的每个 childs,就像存在的每个 childs 一样?示例:
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`
})
你可以使用Element.querySelectorAll
let div = document.createElement('div');
div.innerHTML = `<div><p></p><i></i></div><p></p>`;
console.log([...div.querySelectorAll('*')])