3 回答
TA贡献1775条经验 获得超11个赞
使用HTMLElement.innerHTML得到一个元素的内容,HTML标记包括在内。
并使用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贡献1853条经验 获得超6个赞
“ 节点内的HTML元素 ”有几个含义:
作为节点的直接子节点的元素
所有深度的节点内的所有元素
const node = document.querySelector('body')
const childrenElements = node.children
// const allElements = document.querySelectorAll('body *')
const allElements = node.querySelectorAll('*')
接下来,将节点列表转换为有用数据列表:
const data = Array.from(elements).map(el => {
return {
tagName: el.tagName,
textContentWithHtmlTags: el.innerHTML,
}
})
TA贡献2051条经验 获得超10个赞
超级简单的方法:var c = document.body.children;
现在你已经在你的“c”变量中存储了身体中的每个节点,这个变量基本上是一个数组,所以你可以像访问数组那样访问每个节点。
添加回答
举报