node :节点..包括标签,属性,文档类型,元素,实体,符号节点.
tag :标签..Markup Language的主要组成部份..不抱括属性,实体,符号节点 javascript
parentNode ,parentElement在使用中没有什么区别,可是兼容FF下一般用parentNode.也可按上面的理解node和element.一个是文档对象层次,一个是元素对象层次. css
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>runcode</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<meta name="Author" content="Sheneyan" />
</head>
<body>
<div id="t">
<input id = "ttt" />
<input />
<input />
<input />
<input />
<input />
</div>
<span id="tt"></span>
<script type="text/javascript">
var t=document.getElementById('t');
var tt=document.getElementById('tt');
var ttt = document.getElementById('ttt').parentNode; //等同:document.getElementById('ttt').parentElement
for ( var s in ttt)
{
document.write(s+"<br>");
}
//alert('t的第一个子结点是:'+t.firstChild.nodeName)
//alert ('t的父节点是:'+ttt.parentElement.tagName);
//alert('t下面有'+t.childNodes.length+'个子节点')
//alert('t的后一个节点是:'+t.nextSibling.nodeName)
//alert('tt的前一个节点是:'+tt.previousSibling.nodeName)
var s="";
for (var i=0;i<t.childNodes.length;i++){
s+="\nt的第"+(i+1)+'个子结点名:'+t.childNodes[i].nodeName;
}
//alert('这些是t的子结点:'+s)
</script>
</body>
</html> html
先一块儿来看个例子 <table id="table">
<tr id="tr"><td></td></tr>
<tr><td></td></tr>
</table>
一个2行的表单.
父节点
var tr = document.getElementById("tr");
var parent = tr.parentNode; // java
子节点
var table = document.getElementById("table");
var children = table.childNodes(); // node
cells为一个表格中的有多少个单元格的集合,rows为行的集合. //exp: rows[0].cells 为第一行中有几个单元格.若是去掉rows[0],则为所有表格的单元格数.其实sectionRowIndex 和 rowIndex的效果是同样的 express
cellIndex,rowIndex分别为行和单元格的索引: ui
<table border=1>
<tr>
<td onclick='alert("行数:"+(this.parentNode.rowIndex+1)+"\n列数:"+(this.cellIndex+1))'>点我</td>
<td onclick='alert("行数:"+(this.parentNode.rowIndex+1)+"\n列数:"+(this.cellIndex+1))'>点我</td>
<td onclick='alert("行数:"+(this.parentNode.rowIndex+1)+"\n列数:"+(this.cellIndex+1))'>点我</td>
</tr>
<tr>
<td onclick='alert("行数:"+(this.parentNode.rowIndex+1)+"\n列数:"+(this.cellIndex+1))'>点我</td>
<td onclick='alert("行数:"+(this.parentNode.rowIndex+1)+"\n列数:"+(this.cellIndex+1))'>点我</td>
<td onclick='alert("行数:"+(this.parentNode.rowIndex+1)+"\n列数:"+(this.cellIndex+1))'>点我</td>
</tr> this
sectionRowIndex的例子 spa
<html>
<body>
<style type="text/css">
<!--
tr {background-color:expression((this.sectionRowIndex%2==0)?"red":"blue") //也可写为this.rowIndex%2 == 0}
-->
</style>
</HEAD>
<table>
<tr><td>第1行</td><td>第1行</td></tr>
<tr><td>第2行</td><td>第2行</td></tr>
<tr><td>第3行</td><td>第3行</td></tr>
<tr><td>第4行</td><td>第4行</td></tr>
</table> code
</bodY> </html>