Nig*_*iri 6 html javascript google-chrome google-chrome-devtools
观察Chrome DevTools中的节点数量,我想知道点击Button1之后dom树的差异以及点击Button2之后的差异.
的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>
Run Code Online (Sandbox Code Playgroud)
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);
});
} );
Run Code Online (Sandbox Code Playgroud)
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;
}
Run Code Online (Sandbox Code Playgroud)
当我单击Button1时,节点数增加4.
但是当我单击button2时,节点数增加2.
增加2对我来说是有意义的,因为它们可能是一个'div'元素和一个文本节点'hello2'.
但是单击Button1,还会添加其他节点?

使用appendChild将新DOM元素添加到父节点的末尾.
使用innerHTML +=父节点的现有DOM内容,将其序列化为字符串中的HTML,将更多HTML添加到字符串的末尾,擦除父节点中的现有元素,从该字符串生成DOM元素,然后附加新元素节点到父节点.
| 归档时间: |
|
| 查看次数: |
7315 次 |
| 最近记录: |