1、理解document.all[]
从IE4开始IE的object model才增加了document.all[],来看看document.all[]的Description:
Array of all HTML tags in the document.Collection of all elements contained by the object.
也就是说document.all[]是文档中所有标签组成的一个数组变量,包括了文档对象中所有元素(见例1)。
IE’s document.all collection exposes all document elements.This array provides access to every element in the document.
document.all[]这个数组可以访问文档中所有元素。
例1(这个可以让你理解文档中哪些是对象)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Document.All Example</title>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />
</head>
<body>
<h1>Example Heading</h1>
<hr />
<p>This is a <em>paragraph</em>. It is only a <em>paragraph.</em></p>
<p>Yet another <em>paragraph.</em></p>
<p>This final <em>paragraph</em> has <em id="special">special emphasis.</em></p>
<hr />
<script type="text/javascript">
<!--
var i,origLength;
origLength = document.all.length;
document.write('document.all.length='+origLength+"<br />");
for (i = 0; i < origLength; i++)
{
document.write("document.all["+i+"]="+document.all[i].tagName+"<br />");
}
//-->
</script>
</body>
</html>
输出结果:
Example Heading
This is a paragraph. It is only a paragraph.
Yet another paragraph.
This final paragraph has special emphasis.
document.all.length=394
document.all[0]=!
document.all[1]=HTML
document.all[2]=HEAD
document.all[3]=TITLE
document.all[4]=META
document.all[5]=META
document.all[6]=META
document.all[7]=META
document.all[8]=META
document.all[9]=META
document.all[10]=LINK
document.all[11]=LINK
document.all[12]=LINK
document.all[13]=!
document.all[14]=META
document.all[15]=META
document.all[16]=META
document.all[17]=META
document.all[18]=META
document.all[19]=META
document.all[20]=META
document.all[21]=!
document.all[22]=BODY
document.all[23]=FORM
document.all[24]=DIV
document.all[25]=INPUT
document.all[26]=!
document.all[27]=STYLE
document.all[28]=SCRIPT
document.all[29]=DIV
document.all[30]=DIV
document.all[31]=DIV
document.all[32]=A
document.all[33]=IMG
document.all[34]=IMG
document.all[35]=DIV
document.all[36]=DIV
document.all[37]=UL
document.all[38]=LI
document.all[39]=A
document.all[40]=LI
document.all[41]=A
document.all[42]=DIV
document.all[43]=UL
document.all[44]=LI
document.all[45]=A
document.all[46]=LI
document.all[47]=A
document.all[48]=LI
document.all[49]=A
document.all[50]=LI
document.all[51]=A
document.all[52]=LI
document.all[53]=A
document.all[54]=STRONG
document.all[55]=LI
document.all[56]=A
document.all[57]=LI
document.all[58]=A
document.all[59]=B
document.all[60]=LI
document.all[61]=A
document.all[62]=B
document.all[63]=LI
document.all[64]=A
document.all[65]=LI
document.all[66]=A
document.all[67]=LI
document.all[68]=A
document.all[69]=LI
document.all[70]=A
document.all[71]=LI
document.all[72]=A
document.all[73]=LI
document.all[74]=A
document.all[75]=DIV
document.all[76]=UL
document.all[77]=LI
document.all[78]=A
document.all[79]=UL
document.all[80]=LI
document.all[81]=A
document.all[82]=LI
document.all[83]=A
document.all[84]=LI
document.all[85]=A
document.all[86]=LI
document.all[87]=A
document.all[88]=LI
document.all[89]=A
document.all[90]=LI
document.all[91]=A
document.all[92]=LI
document.all[93]=A
document.all[94]=LI
document.all[95]=A
document.all[96]=LI
document.all[97]=A
document.all[98]=LI
document.all[99]=A
document.all[100]=LI
document.all[101]=A
document.all[102]=LI
document.all[103]=A
document.all[104]=LI
document.all[105]=A
document.all[106]=LI
document.all[107]=A
document.all[108]=LI
document.all[109]=A
document.all[110]=LI
document.all[111]=A
document.all[112]=LI
document.all[113]=A
document.all[114]=LI
document.all[115]=A
document.all[116]=LI
document.all[117]=A
document.all[118]=LI
document.all[119]=A
document.all[120]=LI
document.all[121]=A
document.all[122]=LI
document.all[123]=A
document.all[124]=LI
document.all[125]=A
document.all[126]=DIV
document.all[127]=DIV
document.all[128]=!
document.all[129]=DIV
document.all[130]=DIV
document.all[131]=!
document.all[132]=DIV
document.all[133]=DIV
document.all[134]=SPAN
document.all[135]=DIV
document.all[136]=DIV
document.all[137]=P
document.all[138]=A
document.all[139]=A
document.all[140]=DIV
document.all[141]=SPAN
document.all[142]=DIV
document.all[143]=IFRAME
document.all[144]=DIV
document.all[145]=SPAN
document.all[146]=DIV
document.all[147]=P
document.all[148]=A
document.all[149]=A
document.all[150]=A
document.all[151]=A
document.all[152]=A
document.all[153]=A
document.all[154]=A
document.all[155]=A
document.all[156]=A
document.all[157]=A
document.all[158]=A
document.all[159]=A
document.all[160]=A
document.all[161]=A
document.all[162]=A
document.all[163]=A
document.all[164]=DIV
document.all[165]=SPAN
document.all[166]=DIV
document.all[167]=DIV
document.all[168]=P
document.all[169]=A
document.all[170]=IMG
document.all[171]=P
document.all[172]=A
document.all[173]=IMG
document.all[174]=P
document.all[175]=A
document.all[176]=IMG
document.all[177]=P
document.all[178]=A
document.all[179]=IMG
document.all[180]=P
document.all[181]=A
document.all[182]=IMG
document.all[183]=P
document.all[184]=A
document.all[185]=IMG
document.all[186]=P
document.all[187]=A
document.all[188]=IMG
document.all[189]=!
document.all[190]=DIV
document.all[191]=H5
document.all[192]=DIV
document.all[193]=UL
document.all[194]=LI
document.all[195]=A
document.all[196]=IMG
document.all[197]=SPAN
document.all[198]=A
document.all[199]=P
document.all[200]=LI
document.all[201]=A
document.all[202]=IMG
document.all[203]=SPAN
document.all[204]=A
document.all[205]=P
document.all[206]=LI
document.all[207]=A
document.all[208]=IMG
document.all[209]=SPAN
document.all[210]=A
document.all[211]=P
document.all[212]=DIV
document.all[213]=H5
document.all[214]=DIV
document.all[215]=UL
document.all[216]=LI
document.all[217]=A
document.all[218]=IMG
document.all[219]=SPAN
document.all[220]=A
document.all[221]=P
document.all[222]=LI
document.all[223]=A
document.all[224]=IMG
document.all[225]=SPAN
document.all[226]=A
document.all[227]=P
document.all[228]=LI
document.all[229]=A
document.all[230]=IMG
document.all[231]=SPAN
document.all[232]=A
document.all[233]=P
document.all[234]=!
document.all[235]=DIV
document.all[236]=SPAN
document.all[237]=DIV
document.all[238]=DIV
document.all[239]=TABLE
document.all[240]=TBODY
document.all[241]=TR
document.all[242]=TD
document.all[243]=A
document.all[244]=IMG
document.all[245]=TD
document.all[246]=A
document.all[247]=IMG
document.all[248]=HR
document.all[249]=UL
document.all[250]=LI
document.all[251]=A
document.all[252]=LI
document.all[253]=A
document.all[254]=LI
document.all[255]=A
document.all[256]=LI
document.all[257]=A
document.all[258]=LI
document.all[259]=A
document.all[260]=LI
document.all[261]=A
document.all[262]=LI
document.all[263]=A
document.all[264]=LI
document.all[265]=A
document.all[266]=LI
document.all[267]=A
document.all[268]=LI
document.all[269]=A
document.all[270]=P
document.all[271]=A
document.all[272]=A
document.all[273]=!
document.all[274]=!
document.all[275]=DIV
document.all[276]=SCRIPT
document.all[277]=!
document.all[278]=DIV
document.all[279]=DIV
document.all[280]=H5
document.all[281]=DIV
document.all[282]=P
document.all[283]=BR
document.all[284]=BR
document.all[285]=DIV
document.all[286]=P
document.all[287]=A
document.all[288]=A
document.all[289]=A
document.all[290]=DIV
document.all[291]=P
document.all[292]=SELECT
document.all[293]=OPTION
document.all[294]=OPTION
document.all[295]=OPTION
document.all[296]=OPTION
document.all[297]=OPTION
document.all[298]=INPUT
document.all[299]=SPAN
document.all[300]=IMG
document.all[301]=IMG
document.all[302]=IMG
document.all[303]=IMG
document.all[304]=IMG
document.all[305]=SPAN
document.all[306]=A
document.all[307]=A
document.all[308]=A
document.all[309]=A
document.all[310]=SPAN
document.all[311]=DIV
document.all[312]=P
document.all[313]=DIV
document.all[314]=P
document.all[315]=DIV
document.all[316]=STRONG
document.all[317]=STRONG
document.all[318]=SPAN
document.all[319]=BR
document.all[320]=BR
document.all[321]=STRONG
document.all[322]=SPAN
document.all[323]=STRONG
document.all[324]=SPAN
document.all[325]=BR
document.all[326]=DIV
document.all[327]=STRONG
document.all[328]=SPAN
document.all[329]=BR
document.all[330]=BR
document.all[331]=STRONG
document.all[332]=SPAN
document.all[333]=DIV
document.all[334]=STRONG
document.all[335]=SPAN
document.all[336]=BR
document.all[337]=BR
document.all[338]=DIV
document.all[339]=BR
document.all[340]=BR
document.all[341]=BR
document.all[342]=BR
document.all[343]=STRONG
document.all[344]=SPAN
document.all[345]=BR
document.all[346]=BR
document.all[347]=BR
document.all[348]=BR
document.all[349]=BR
document.all[350]=BR
document.all[351]=BR
document.all[352]=BR
document.all[353]=BR
document.all[354]=BR
document.all[355]=BR
document.all[356]=BR
document.all[357]=BR
document.all[358]=STRONG
document.all[359]=SPAN
document.all[360]=BR
document.all[361]=STRONG
document.all[362]=SPAN
document.all[363]=BR
document.all[364]=BR
document.all[365]=BR
document.all[366]=STRONG
document.all[367]=SPAN
document.all[368]=STRONG
document.all[369]=SPAN
document.all[370]=BR
document.all[371]=BR
document.all[372]=BR
document.all[373]=BR
document.all[374]=BR
document.all[375]=DIV
document.all[376]=DIV
document.all[377]=DIV
document.all[378]=STRONG
document.all[379]=FONT
document.all[380]=DIV
document.all[381]=HR
document.all[382]=DIV
document.all[383]=EM
document.all[384]=EM
document.all[385]=DIV
document.all[386]=EM
document.all[387]=DIV
document.all[388]=EM
document.all[389]=EM
document.all[390]=DIV
document.all[391]=HR
document.all[392]=P
document.all[393]=SCRIPT
document.all.length=18
document.all[0]=!
document.all[1]=HTML
document.all[2]=HEAD
document.all[3]=TITLE
document.all[4]=META
document.all[5]=BODY
document.all[6]=H1
document.all[7]=HR
document.all[8]=P
document.all[9]=EM
document.all[10]=EM
document.all[11]=P
document.all[12]=EM
document.all[13]=P
document.all[14]=EM
document.all[15]=EM
document.all[16]=HR
document.all[17]=SCRIPT
例2(访问一个特定元素)
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>单击DIV变色</title>
<style type="text/css">
<!--
#docid{
height:400px;
width:400px;
background-color:#999;}
-->
</style>
</head>
<body><div id="docid" name="docname" onClick="bgcolor()"></div>
</body>
</html>
<script language="javascript" type="text/javascript">
<!--
function bgcolor(){
document.all[7].style.backgroundColor="#000"
}
-->
</script>
上面的这个例子让你了解怎么访问文档中的一个特定元素,比如文档中有一个DIV
<div id="docid" name="docname"></div>,你可以通过这个DIV的ID,NAME或INDEX属性访问这个DIV:
document.all["docid"]
document.all["docname"]
document.all.item("docid")
document.all.item("docname")
document.all[7]
document.all.tags("div")则返回文档中所有DIV数组,本例中只有一个DIV,所以用document.all.tags("div")[0]就可以访问了。
2、使用document.all[]
例3
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Document.All Example #2</title>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />
</head>
<body>
<!-- Works in Internet Explorer and compatible -->
<h1 id="heading1" align="center" style="font-size: larger;">DHTML Fun!!!</h1>
<form name="testform" id="testform" action="#" method="get">
<br /><br />
<input type="button" value="Align Left"
onclick="document.all['heading1'].align='left';" />
<input type="button" value="Align Center"
onclick="document.all['heading1'].align='center';" />
<input type="button" value="Align Right"
onclick="document.all['heading1'].align='right';" />
<br /><br />
<input type="button" value="Bigger"
onclick="document.all['heading1'].style.fontSize='xx-large';" />
<input type="button" value="Smaller"
onclick="document.all['heading1'].style.fontSize='xx-small';" />
<br /><br />
<input type="button" value="Red"
onclick="document.all['heading1'].style.color='red';" />
<input type="button" value="Blue"
onclick="document.all['heading1'].style.color='blue';" />
<input type="button" value="Black"
onclick="document.all['heading1'].style.color='black';" />
<br /><br />
<input type="text" name="userText" id="userText" size="30" />
<input type="button" value="Change Text"
onclick="document.all['heading1'].innerText=document.testform.userText.value;" />
</form>
</body>
</html>