HTML文档可以说由节点构成的集合,DOM节点有:
节点属性
遍历节点树:
DOM操作:
语法:
document.getElementsByName(name)与getElementById()方法不同的是,通过元素的name属性查询元素,而不是通过id属性。
注意:
返回带有指定标签名的节点对象的集合。返回元素的顺序是它们在文档中的顺序。
document.getElementsByTagName(Tagname)说明:
通过元素节点的属性名称获取属性的值
elementNode.getAttribute(name)说明:
setAttribute()方法增加一个指定名称和值的新属性,或者把一个现有的属性设定为指定的值。
elementNode.setAttribute(name,value)说明:
在文档对象模型(DOM)中,每个节点都是一个对象。DOM节点有三个重要的属性:
一、nodeName属性:
节点的名称,是只读的。
二、nodeValue属性:节点的值
三、nodeType属性:
节点的类型,是只读的。以下常用的几种结点类型
元素类似
节点类型
元素
1
属性
2
文本
3
注释
8
文档
9
访问选定元素节点下的所有子节点的列表,返回的值可以看作是一个数组,他具有length属性。
elementNode.childNodes注意:
如果选定的节点没有子节点,则该属性返回不包含节点的NodeList。
一、firstChild属性返回‘childNodes’数组的第一个子节点。如果选定的节点没有子节点,则该属性返回NULL。
node.firstChild说明:与elementNode.childNodes[0]是同样的效果。
二、lastChild
属性返回‘childNodes’数组的最后一个子节点。如果选定的节点没有子节点,则该属性返回NULL。
node.lastChild说明:
与elementNode.childNodes[elementNode.childNodes.length-1]是同样的效果。
获取指定节点的父节点语法:
elementNode.parentNode注意:父节点只能有一个。
看看下面的例子,获取P节点的父节点,代码如下:
1.nextSibling属性可返回某个节点之后紧跟的节点(处于同一树层级中)。
nodeObject.nextSibling说明:如果无此节点,则该属性返回null。
2.previousSibling属性可返回某个节点之前紧跟的节点(处于同一树层级中)。
nodeObject.previousSibling说明:如果无此节点,则该属性返回null。
在指定节点的最后一个子节点列表之后添加一个新的子节点。
语法:
appendChild(newnode)参数:newnode:指定追加的节点例子:
运行结果:
HTMLJavaScriptThisisanewp
insertBefore()方法可在已有的子节点前插入一个新的子节点。
insertBefore(newnode,node);参数:
newnode:要插入的新节点。node:指定此节点前插入节点。
removeChild()方法从子节点列表中删除某个节点。如删除成功,此方法可返回被删除的节点,如失败,则返回NULL。
nodeObject.removeChild(node)参数:node:必需,指定需要删除的节点。
我们来看看下面代码,删除子点。
HTML
替换元素节点replaceChild()replaceChild实现子节点(对象)的替换。返回被替换对象的引用。
node.replaceChild(newnode,oldnew)参数:
newnode:必需,用于替换oldnew的对象。oldnew:必需,被newnode替换的对象。
createElement()方法可创建元素节点。此方法可返回一个Element对象。
document.createElement(tagName)参数:tagName:字符串值,这个字符串用来指明创建元素的类型。
注意:要与appendChild()或insertBefore()方法联合使用,将元素显示在页面中。
我们来创建一个按钮,代码如下:
varbody=document.body;varinput=document.createElement("input");input.type="button";input.value="创建一个按钮";body.appendChild(input);
效果:在HTML文档中,创建一个按钮。
createTextNode()方法创建新的文本节点,返回新创建的Text节点。