HTML DOM 属性和方法
HTML DOM 的属性和方法定义了应用HTML DOM的程序接口
程序接口
在DOM中,HTML文档由一系列的节点对象node object组成。这些节点可以通过JavaScript或其他程序语言来访问。在这里的教程中,我们使用的是JavaScript脚本访问HTML DOM 节点。
DOM的程序接口是由标准属性和方法来定义的。
HTML DOM属性通常指的是什么东西是什么?(比如节点的名称)。
HTML DOM方法通常是指某物做了什么动作?(比如移除一个节点)。
HTML DOM属性
以下是一些DOM属性:
- x.innerHTML - x节点的文本值text value
- x.nodeName - x节点的名称name
- x.nodeValue - x节点的值value
- x.parentNode - x节点的父节点parent node
- x.childNodes - x节点的子节点child nodes
- x.attributes - x节点的属性节点attributes nodes
注意:在上面的列表中,x是一个节点对象(即一个HTML元素)。
HTML DOM方法
以下是一些DOM方法:
- x.getElementById(id) - 通过一个指定的id获取元素element
- x.getElementsByTagName(name) - 通过一个指定的标记名称tag name获取所有的标记元素。
- x.appendChild(node) - 给x插入一个子节点child node
- x.removeChild(node) - 从x中移除一个子节点child node
注意:在上面的列表中,x是一个节点对象(即一个HTML元素)。
innerHTML属性
需要获取或修改一个元素的内容content最简单的方法就是使用innerHTML属性。
innerHTML不是W3C DOM规范的一部分。不过没有关系,基本上所有的主流浏览器都支持innerHTML属性。
innerHTML属性在返回或替换HTML元素的内容时非常有用,甚至包括<html> 和 <body>这两个HTML元素。同时,它还可以用来查看一个被动态修改的页面的源代码。我们看下面的例子:
<html>
<body>
<p id="intro">Hello World!</p>
<script type="text/javascript">
txt=document.getElementById("intro").innerHTML;
document.write("<p>The text from the intro paragraph: " + txt + "</p>");
</script>
</body>
</html>
上面的代码从一个id为"intro"的<p>标签元素中获取它的innerHTML(文本text)。其中getElementById就是一个HTML DOM方法,innerHTML是一个HTML DOM属性。
childNodes 和 nodeValue
同样,我们可以使用childNodes 和 nodeValue属性来获得元素element的值value。
下面的代码取得一个id为"intro"的<p>标签元素的值。
<html>
<body>
<p id="intro">Hello World!</p>
<script type="text/javascript">
txt=document.getElementById("intro").childNodes[0].nodeValue;
document.write("<p>The text from the intro paragraph: " + txt + "</p>");
</script>
</body>
</html>
在上面的实例中,getElementById是一个HTML DOM方法,childNodes 和 nodeValue是属性。
在这里的教程中,我们主要应用了innerHTML属性。不过,学习上面的方法对于理解DOM的树形结构和处理XML文档是非常有用的。