日期:2014-05-16 浏览次数:20409 次
一、元素节点
//测试元素节点,输出节点名称,节点的类型,节点的值 var liElements=document.getElementsByTagName("li"); for(var i=0;i<liElements.length;i++){ alert(liElements[i].nodeName); alert(liElements[i].nodeType); alert(liElements[i].nodeValue); }
二、属性节点
//测试属性节点,输出属性节点名称,节点的类型,节点的值 var liElements=document.getElementsByTagName("li"); for(var i=0;i<liElements.length;i++){ var attrElement=liElements[i].getAttributeNode("value") alert("attrElement.nodeName "+attrElement.nodeName); alert("attrElement.nodeType "+attrElement.nodeType); alert("attrElement.nodeValue "+liElements[i].getAttribute("value")); }
三、文本节点
//测试元素节点,输出节点名称,节点的类型,节点的值 var liElements=document.getElementsByTagName("li"); for(var i=0;i<liElements.length;i++){ alert(liElements[i].childNodes[0].nodeName); alert(liElements[i].childNodes[0].nodeType); alert(liElements[i].childNodes[0].nodeValue); liElements[i].childNodes[0].nodeValue="南京"; alert(liElements[i].childNodes[0].nodeValue); //另一种读取方法 alert(liElements[i].firstChild.nodeName); alert(liElements[i].firstChild.nodeType); alert(liElements[i].firstChild.nodeValue); }
四、替换节点
replaceChild()
把一个给定父元素里的一个子节点替换为另外一个子节点
var reference = element.replaceChild(newChild,oldChild);
返回值是一个指向已被替换的那个子节点的引用指针。
如果被插入的子节点还有子节点,则那些子节点也被插入到目标节点中
//方法一 // var cityElement=document.getElementById("city"); // var loveElement=document.getElementById("love"); // var cityChildElement=document.getElementById("beijing"); // var loveChildElement=document.getElementById("fankong"); // var oldElement=cityElement.replaceChild(loveChildElement,cityChildElement); // loveElement.appendChild(oldElement); // alert(oldElement.getAttribute("id")); var cityElement=document.getElementById("city"); cityElement.onclick=function(){ var cityChildElement=document.getElementById("beijing"); var loveChildElement=document.getElementById("fankong"); var oldElement=cityElement.replaceChild(loveChildElement,cityChildElement); loveElement.appendChild(oldElement); alert(oldElement.getAttribute("id")); }
五、查找属性节点
getAttribute()
返回一个给定元素的一个给定属性节点的值
var attributeValue = element.getAttribute(attributeName);
给定属性的名字必须以字符串的形式传递给该方法。
给定属性的值将以字符串的形式返回,如果给定属性不存在,getAttribute() 将返回一个空字符串.
通过属性获取属性节点
getAttributeNode(属性的名称)--Node
<li name="beijing" id="bj">北京</li>
//通过属性名获取属性的值
var bjElement=document.getElementById("bj");
var attributeValue=eduElement.getAttribute("name");
alert("attributeValue "+attributeValue);
//通过属性名获取属性的节点
var bjNode=eduElement.getAttributeNode("name");
alert(eduNode.nodeValue);
alert(eduNode.nodeType);
alert(eduNode.nodeName);
六、设置属性节点
setAttribute()
将给定元素节点添加一个新的属性值或改变它的现有属性的值。
element.setAttribute(attributeName,attributeValue);
属性的名字和值必须以字符串的形式传递给此方法
如果这个属性已经存在,它的值将被刷新;
如果不存在,setAttribute()方法将先创建它再为其赋ࠆ