我想在一个 div 中显示我的 html 页面的所有节点。
到目前为止我有什么(js):
var nodes = document.getElementsByTagName("*");
div3.innerHTML = nodes;
和 html:
<body>
<div id="content">
<div id="1-1">
<div id="div1"></div><br>
<div id="div2"></div><br>
<div id="div3"></div><br>
<div id="div4"></div><br>
<div id="div5"></div>
</div>
</div>
<script src="script201.js" rel="text/javascript"></script>
</body>
我从 div3 中的这段代码得到的输出:[object HTMLCollection]
如何让所有节点显示如下:
BODY
DIV
DIV
DIV
DIV
DIV
DIV
DIV
SCRIPT
所以基本上文件中的每个节点
最佳答案
您必须遍历所有节点,以便单独获得 nodeName 属性。
请注意:由于 document 对象有一些其他标签,如 HTML
、HEAD
, STLYLE
, SCRIPT
等,所有这些都将使用 *
选择器作为目标。
var nodes = [...document.getElementsByTagName("*")];
nodes.forEach(function(el){
div3.innerHTML += el.nodeName + ' ';
})
<body>
<div id="content">
<div id="1-1">
<div id="div1"></div><br>
<div id="div2"></div><br>
<div id="div3"></div><br>
<div id="div4"></div><br>
<div id="div5"></div>
</div>
</div>
<script src="script201.js" rel="text/javascript"></script>
</body>
关于javascript - 在 html div 中显示所有 DOM 节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54942106/