3 回答

TA貢獻(xiàn)1775條經(jīng)驗(yàn) 獲得超11個(gè)贊
使用HTMLElement.innerHTML得到一個(gè)元素的內(nèi)容,HTML標(biāo)記包括在內(nèi)。
并使用body *選擇器來獲得所有<body>孩子。
看到:
let data = [];
document.querySelectorAll('body *').forEach((element) => {
data.push({
tagName: element.tagName.toLowerCase(),
content: element.innerHTML.trim()
});
});
console.log(data);
<p>Hi World</p>
<div class="none"><a href="#">click me</a></div>
<strong>Yes, sir...</strong>

TA貢獻(xiàn)1853條經(jīng)驗(yàn) 獲得超6個(gè)贊
“ 節(jié)點(diǎn)內(nèi)的HTML元素 ”有幾個(gè)含義:
作為節(jié)點(diǎn)的直接子節(jié)點(diǎn)的元素
所有深度的節(jié)點(diǎn)內(nèi)的所有元素
const node = document.querySelector('body')
const childrenElements = node.children
// const allElements = document.querySelectorAll('body *')
const allElements = node.querySelectorAll('*')
接下來,將節(jié)點(diǎn)列表轉(zhuǎn)換為有用數(shù)據(jù)列表:
const data = Array.from(elements).map(el => {
return {
tagName: el.tagName,
textContentWithHtmlTags: el.innerHTML,
}
})

TA貢獻(xiàn)2051條經(jīng)驗(yàn) 獲得超10個(gè)贊
超級(jí)簡(jiǎn)單的方法:var c = document.body.children;
現(xiàn)在你已經(jīng)在你的“c”變量中存儲(chǔ)了身體中的每個(gè)節(jié)點(diǎn),這個(gè)變量基本上是一個(gè)數(shù)組,所以你可以像訪問數(shù)組那樣訪問每個(gè)節(jié)點(diǎn)。
添加回答
舉報(bào)