欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

getElementByID、createElement、appendChild幾個(gè)DHTML元素第1/2頁(yè)

 更新時(shí)間:2008年06月25日 21:17:24   作者:  
WEB標(biāo)準(zhǔn)下可以通過(guò)getElementById(), getElementsByName(), and getElementsByTagName()訪問(wèn)
DOCUMENT中的任一個(gè)標(biāo)簽: 

1、getElementById()
getElementById()可以訪問(wèn)DOCUMENT中的某一特定元素,顧名思義,就是通過(guò)ID來(lái)取得元素,所以只能訪問(wèn)設(shè)置了ID的元素。
比如說(shuō)有一個(gè)DIV的ID為docid:
<div id="docid"></div>
那么就可以用getElementById("docid")來(lái)獲得這個(gè)元素。


<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>ById</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.getElementById("docid").style.backgroundColor="#000"
}
-->
</script>
、getElementsByName()
這個(gè)是通過(guò)NAME來(lái)獲得元素,但不知大家注意沒(méi)有,這個(gè)是GET ELEMENTS,復(fù)數(shù)ELEMENTS代表獲得的不是一個(gè)元素,為什么呢?
因?yàn)镈OCUMENT中每一個(gè)元素的ID是唯一的,但NAME卻可以重復(fù)。打個(gè)比喻就像人的身份證號(hào)是唯一的(理論上,雖然現(xiàn)實(shí)中有重復(fù)),但名字

重復(fù)的卻很多。如果一個(gè)文檔中有兩個(gè)以上的標(biāo)簽NAME相同,那么getElementsByName()就可以取得這些元素組成一個(gè)數(shù)組。

比如有兩個(gè)DIV:
<div name="docname" id="docid1"></div>
<div name="docname" id="docid2"></div>
那么可以用getElementsByName("docname")獲得這兩個(gè)DIV,用getElementsByName("docname")[0]訪問(wèn)第一個(gè)DIV,用getElementsByName


3、getElementsByTagName()
這個(gè)呢就是通過(guò)TAGNAME(標(biāo)簽名稱)來(lái)獲得元素,一個(gè)DOCUMENT中當(dāng)然會(huì)有相同的標(biāo)簽,所以這個(gè)方法也是取得一個(gè)數(shù)組。
下面這個(gè)例子有兩個(gè)DIV,可以用getElementsByTagName("div")來(lái)訪問(wèn)它們,用getElementsByTagName("div")[0]訪問(wèn)第一個(gè)DIV,用

getElementsByTagName("div")[1]訪問(wèn)第二個(gè)DIV。

<!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>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>Byname,tag</title>
<style type="text/css">
<!--
#docid1,#docid2{
margin:10px;
height:400px;
width:400px;
background-color:#999;}
-->
</style>
</head>
<body>
<div name="docname" id="docid1" onClick="bgcolor()"></div>
<div name="docname" id="docid2" onClick="bgcolor()"></div>
</body>
</html>
<script language="JavaScript" type="text/JavaScript">
<!--
function bgcolor(){
var docnObj=document.getElementsByTagName("div");
docnObj[0].style.backgroundColor = "black";
docnObj[1].style.backgroundColor = "black";
}
-->
</script>
總結(jié)一下標(biāo)準(zhǔn)DOM,訪問(wèn)某一特定元素盡量用標(biāo)準(zhǔn)的getElementById(),訪問(wèn)標(biāo)簽用標(biāo)準(zhǔn)的getElementByTagName(),但I(xiàn)E不支持

getElementsByName(),所以就要避免使用getElementsByName(),但getElementsByName()和不符合標(biāo)準(zhǔn)的document.all[]也不是全無(wú)是處,它

們有自己的方便之處,用不用那就看網(wǎng)站的用戶使用什么瀏覽器,由你自己決定了。

  Javascript中的getElementById十分常用,但在標(biāo)準(zhǔn)的頁(yè)面中,一個(gè)id只能出現(xiàn)一次,如果我想同時(shí)控制多個(gè)元素,例如點(diǎn)一個(gè)鏈接, 讓多個(gè)層隱藏,該怎么做?用class,當(dāng)然,同一個(gè)class是可以允許在頁(yè)面中重復(fù)出現(xiàn)的,那么有沒(méi)有g(shù)etElementByClass呢?沒(méi)有, 但是可以解決: 

//Create an array 
var allPageTags = new Array(); 

function hideDivWithClasses(theClass) {
//Populate the array with all the page tags
var allPageTags=document.getElementsByTagName("div");
//Cycle through the tags using a for loop
for (i=0; i//Pick out the tags with our class name
if (allPageTags[i].className==theClass) {
//Manipulate this in whatever way you want
allPageTags[i].style.display='none';
}
}
}
=============================

相關(guān)文章

最新評(píng)論