【发布时间】:2014-06-13 20:59:56
【问题描述】:
查看 Chrome DevTools 中的节点数,我想知道单击 Button1 后的 dom 树和单击 Button2 后的 dom 树有何不同。
index.html
<html>
<head>
<script src="./js/main.js" type="text/javascript" charset="utf-8"></script>
<link rel="stylesheet" href="style/default.css">
</head>
<body>
<div id="buttons">
<div class="button" id="button1">Execute1</div>
<div class="button" id="button2">Execute2</div>
</div>
<div id="main"></div>
<div id="main2"></div>
</body>
</html>
main.js
document.addEventListener( "DOMContentLoaded", function() {
var button1 = document.getElementById('button1');
button1.addEventListener('click', function() {
document.getElementById('main').innerHTML += '<div>hello</div>';
});
var button2 = document.getElementById('button2');
button2.addEventListener('click', function() {
var div = document.createElement('div');
div.appendChild(document.createTextNode('hello2'));
document.getElementById('main2').appendChild(div);
});
} );
default.css
#buttons {
display:-webkit-flex;
align-items: center;
}
.button {
height: 30px;
width: 100px;
margin: 5px;
background-color: #0080C0;
color: #FFFFFF;
display:-webkit-flex;
align-items: center;
justify-content: center;
cursor: pointer;
}
当我单击 Button1 时,节点数增加 4。
但是当我点击button2时,节点数增加了2。
增加 2 对我来说很有意义,因为它们可能是一个“div”元素和一个文本节点“hello2”。
但是点击Button1,还追加了哪些其他节点?
【问题讨论】:
-
一个使用 DOM,另一个使用浏览器功能。
标签: javascript html google-chrome google-chrome-devtools