码迷,mamicode.com
首页 > Web开发 > 详细

[js笔记整理]DOM 篇

时间:2016-06-17 12:35:19      阅读:237      评论:0      收藏:0      [点我收藏+]

标签:

一、节点类型

1.元素节点:HTML元素

2.文本节点:元素标签中的内容

3.属性节点:元素的属性

(检测节点类型:node.nodeType  //元素=1,属性=2,文本=3)

二、使用DOM获取元素

1.通过名称类型访问节点

(1)getElementById();

(2)getElementsByTagName();

2.利用父子关系查询节点

(1).ChildNodes //获取全部子节点数组(在Firefox chrome ie9中会包含文本节点)

(2).children //只选择标签节点的子元素

(3).parentNode  //父节点

(4).offsetNode  //绝对定位的父节点

(5).hasChildnNodes()  //判断是否有子节点 返回布尔值

(6).firstChild  //第一个子节点  (在Firefox chrome ie9中会包含文本节点)

(7).lastChild //最后一个子节点  (在Firefox chrome ie9中会包含文本节点)

3.利用兄弟关系访问节点

(1).nextSibling

(2).previousSibling

兼容性:在Firefox、chrome等浏览器中会包含文本节点(空节点)

(兼容处理nextSibing)

 1 function(node)
 2 {
 3     var tempLast=node.parentNode.lastChild;
 4     if(node==tempLast)
 5         return null;
 6     var tempObj=node.nextbiSing;
 7     while(tempObj.nodeType !=1 && tempObj!=tempLast)
 8         tempObj=tempObj.nextSibling;
 9     return (tempObj.nodeType==1)?tempObj;null; 
10 }

三、获取节点属性

(1)gitAttribute(属性名);  //获取属性值

(2)setAttribute(属性名,属性值);  //设置属性值

(3)removeAttribute(属性名);  //删除属性值

四、创建和添加节点

1、创建节点

(1)createElement("标签名");

(2)createTextNode("文本内容");

(3)createDocumentTragment();

2、添加节点

appendChild(nodename);  //添加子节点//默认插入到末尾//动作删除创建位置,插入到新位置

3、删除节点

removeChild(nodename);  //找的父元素删除。。。。 x.parentNode.removeChild(x); 

4、替换节点

replaceChild(newNode,oldNode);  //查找父元素替换。。。 x.parentNode.replaceChild(oNewP,oOldP); 

5、在特定节点前插入

insertBefore(newNode,targetNode);  

6、在特定节点后插入

1 function insertAfter(newElement,targetElement)
2 {
3     if(oParent.lastChild==targetElement)
4         oParent.appendChild(newElement);
5     else
6         oParent.insertBefore(newElement,targetElement.nextSibling);
7 }

 

[js笔记整理]DOM 篇

标签:

原文地址:http://www.cnblogs.com/pangys/p/5585199.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!