节点
document
createElement
- 创建元素
document.createElement
var div = document.createElement('div');div.innerHTML = 123;document.body.appendChild(div);
createTextNode
创建文本节点
var text = document.createTextNode('注释');document.body.appendChild(text);
createComment
创建注释节点
var comment = document.createComment('注释');document.body.appendChild(comment);
createDocumentFragment()
创建文档碎片
document.createDocumentFragment();
var oUl = document.getElementById('list');for(var i = 0;i < 1000;i++){var oLi = document.createElement('li');oLi.innerHTML = i + `这是第+${i}个`oLi.className = 'list-item';oUl.appendChild(oLi);}
创建一个div 节点来包含
var oUl = document.getElementById('list'),oDiv = document.createElement('div');for(var i = 0;i < 1000;i++){var oLi = document.createElement('li');oLi.innerHTML = i + `这是第+${i}个`oLi.className = 'list-item';oDiv.appendChild(oLi);}oUl.appendChild(oDiv);//会多出一个div节点
文档碎片
var oUl = document.getElementById('list'),oFrag = document.createDocumentFragment();//创建一个文档碎片for(var i = 0;i < 1000;i++){var oLi = document.createElement('li');oLi.innerHTML = i + `这是第+${i}个`oLi.className = 'list-item';oFrag.appendChild(oLi);}oUl.appendChild(oFrag);
字符串拼接
var oUl = document.getElementById('list'),str = '';//创建一个文档碎片for(var i = 0;i < 1000;i++){str += '<li>这是第'+i+'个</li>'var oLi = document.createElement('li');oLi.innerHTML = i + `这是第+${i}个`oLi.className = 'list-item';oFrag.appendChild(oLi);}oUl.appendChild(oFrag);
Node.prototype
appendChild
元素 —> 构造函数实例化 —> 元素节点 div —> new HTMLDIVElement() removeChild(div) —> div DOM 对象 删除了节点 —> 存储在内存中
<a name="xzmCh"></a>### c.replaceChild(a,b)1. 节点替换1. 把父级c的节点b替换成a;<a name="ChreM"></a>## element1. remove1. 元素销毁2. innerHTML/innerText1. HTMLElement.prototype1. innerHTML还存在于Element.prototype3. innerText1. 获取的是文本1. 老版本火狐不支持。需要使用textContent1. textContent IE老版本也不支持4. setAttribute,getAttribute1. 获取和设置属性<a name="CDiQ4"></a>### 5. data-*1. 自定义属性1. HTML5内容1. IE9及以下都没有<a name="hCjRw"></a>### 6. dataset1. 管理自定义属性```html<p data-age="12" data-name="张三">我是段落标签</p>

b. 获取属性
c. 设置属性
div.getElementsByTagName('p')[0].setAttribute('data-age',11)
