node,tag,parentNode,parentElement

node :节点..包括标签,属性,文档类型,元素,实体,符号节点.
tag :标签..Markup Language的主要组成部份..不抱括属性,实体,符号节点

parentNode ,parentElement在使用中没有什么区别,但是兼容FF下通常用parentNode.也可按上面的理解node和element.一个是文档对象层次,一个是元素对象层次.

<!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>

先一起来看个例子 <table id="table">
   <tr id="tr"><td></td></tr>
   <tr><td></td></tr>
</table>
一个2行的表单.
父节点
var tr = document.getElementById("tr");
var parent = tr.parentNode; //

子节点
var table = document.getElementById("table");
var children = table.childNodes(); //

cells为一个表格中的有多少个单元格的集合,rows为行的集合. //exp: rows[0].cells 为第一行中有几个单元格.如果去掉rows[0],则为全部表格的单元格数.其实sectionRowIndex 和 rowIndex的效果是一样的

cellIndex,rowIndex分别为行和单元格的索引:

<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>

sectionRowIndex的例子

<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>

</bodY>
</html>

你可能感兴趣的:(node,tag,parentNode,parentElement)