itRef.cn技术参考网站

当前位置: 主页 > JS >

js兼容节点操作小结

时间:2011-03-10 20:59来源:未知 作者:wiwi 点击:
兼容多浏览器的节点属性和方法: #. 节点的绝对引用: document.documentElement 返回文档的根节点 document.activeElement 返回当前文档中被击活的标签节点 event.fromElement 返回鼠标移出的源节点 event.toElement 返回鼠标移入的源节点 event.srcElement

兼容多浏览器的节点属性和方法:

#. 节点的绝对引用:
document.documentElement 返回文档的根节点
document.activeElement 返回当前文档中被击活的标签节点
event.fromElement 返回鼠标移出的源节点
event.toElement 返回鼠标移入的源节点
event.srcElement 返回激活事件的源节点

#. 节点的相对引用:
node.parentNode node.parentElement 返回父节点,document.parentNode()返回null
node.childNodes[i] 包含文本节点及标签节点,文本和属性节点的childNodes永远是null
node.firstChild返回第一个子节点,firstChild=childNodes[0]
node.lastChild返回最后一个子节点,lastChide=childNodes[childNodes.length-1]
node.nextSibling()返回同属下一个节点
node.previousSibling()返回同属上一个节点

注:IE中会把标签与标签间的空格解析成“#text”,解决方法:
在循环中使用 if(childNode.nodeName=="#text") continue; 过滤


#. 节点定位
document.getElementById(IDvalue)
getElementsByTagName(tagName)
getElementsByName(elementName) radio、checkbox集合

#. 创建节点:
var a=document.createElement("div")
var b=document.createTextNode("hello");  a.appendChild(b);


#. 添加节点:
node.appendChild(newChild)
node.insertBefore(newNode,targetNode)
node.insertAfter(newNode,targetNode)

#. 修改节点:
node.removeChild(newChild,oldChild)
node.replaceChild(node)

#. 复制节点:
node.cloneNode(bool)//bool为布尔值,true / false 是否克隆该节点所有子节点

#. 获取节点信息:
.nodeName//只读 返回节点名称
.nodeValue//可读可写,但对元素节点不能写,一般只用于设置文本节点的值。
.nodeType//只读,返回节点类型:1,元素节点;2,属性节点;3,文本节点
.hasChildNodes()//是否有子节点,返回boolean值

#. 属性节点
node.setAttribute(key,value)//element.setAttribute
node.getAttribute(key)

(责任编辑:wiwi) 转载请注明 来源于itRef.cn技术参考网站:
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
栏目列表
推荐内容