获取 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('*')])