DOM是文档对象模型(Document Object Model)的缩写,它将HTML中的每个元素都定义成一个对象,那么它们就有继承关系,每个对象也有属性与方法。
DOM定义了访问和操作HTML文档的标准方法,这些方法在<script> </script>之间使用,可以写在js函数中,也可以不写在函数中,我们常用的document.write();就是它的方法之一。
常用的一些功能比如获得元素的信息,增删改元素等。
HTML将html文档描述成如图的一颗树:
一个使用例子,删除表单中的行:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>菜鸟教程(runoob.com)</title>
<script>
function deleteRow(r){
var i=r.parentNode.parentNode.rowIndex;
document.getElementById('myTable').deleteRow(i);
}
</script>
</head>
<body>
<table id="myTable" border="1">
<tr>
<td>行 1</td>
<td><input type="button" value="删除" οnclick="deleteRow(this)"></td>
</tr>
<tr>
<td>行 2</td>
<td><input type="button" value="删除" οnclick="deleteRow(this)"></td>
</tr>
<tr>
<td>行 3</td>
<td><input type="button" value="删除" οnclick="deleteRow(this)"></td>
</tr>
</table>
</body>
</html>
其中r.parentNode. parentNode.rowIndex;是一层一层向上追溯,其实每一个嵌套的标签就是一个parentNode,所以第一个parentNode表示<td>,第二个表示<tr>,那么该<tr>的rowIndex就找到了这一行了。
更多关于DOM的示例:
http://www.runoob.com/try/try.php?filename=try_dom_table_deleterow