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>