目录
获取元素
1.通过ID获取
2.通过类名
3.通过name属性
4.通过标签名
5.通过选择器获取一个元素
6.通过选择器获取一组元素
获取节点
创建节点:
删除节点
克隆节点
替换节点
文档碎片框
// 1 获取元素节点
// 通过id的方式( 通过id查找元素,大小写敏感,如果有多个id只找到第一个)
document.getElementById('div1');
// 通过类名查找元素,多个类名用空格分隔,得到一个HTMLCollection(一个元素集合,有length属性,可以通过索引号访问里面的某一个元素)
var cls = document.getElementsByClassName('a b');
console.log(cls);
// 通过name属性查找,返回一个NodeList(一个节点集合,有length属性,可以通过索引号访问)
var nm = document.getElementsByName('c');
console.log(nm);
// 通过标签名查找元素 返回一个HTMLCollection
document.getElementsByTagName('div');
document.querySelector('.animated')
document.querySelector('.animated')
--------分割线--------
在文档对象模型 (DOM) 中,每个节点都是一个对象。DOM 节点有三个重要的属性
1. nodeName : 节点的名称
2. nodeValue :节点的值
3. nodeType :节点的类型
一、nodeName 属性: 节点的名称,是只读的。
二、nodeValue 属性:节点的值
三、nodeType 属性: 节点的类型,是只读的。以下常用的几种结点类型:
1.创建节点:createElement('')
// 创建元素,只是创建出来并未添加到html中,需要与appendChild 配合使用
var elem = document.createElement('p');
elem.id = 'test';
elem.style = 'color: red';
elem.innerHTML = '我是新创建的节点';
document.body.appendChild(elem);
2.插入节点:appendChild ()
var oNewp=document.createElement("p");
var oText=document.createTextNode("World Hello");
oNewp.appendChild(oText);
2-1.插入节点:insertBefore()
var oOldp=document.body.getElementsByTagName("p")[0];
document.body.insertBefore(oNewp,oOldp);
1.删除节点:removeChild
var op=document.body.getElementsByTagName("p")[0];
op.parentNode.removeChild(op);
1.克隆节点:parent.cloneNode() false 或者true
// 克隆节点(需要接受一个参数来表示是否复制元素)
var form = document.getElementById('test');
var clone = form.cloneNode(true);
clone.id = 'test2';
document.body.appendChild(clone);
1.替换节点 方法node.replace(new,old)
var oOldp=document.body.getElementsByTagName("p")[0];
oOldp.parentNode.replaceChild(oNewp,oOldp);
(function()
{
var start = Date.now();
var str = '', li;
var ul = document.getElementById('ul');
var fragment = document.createDocumentFragment();
for(var i=0; i<10000; i++)
{
li = document.createElement('li');
li.textContent = '第'+i+'个子节点';
fragment.appendChild(li);
}
ul.appendChild(fragment);
console.log('耗时:'+(Date.now()-start)+'毫秒'); // 63毫秒
})();