求大神,告訴我代碼錯在哪里了?結(jié)果就是出不來,用getElementsTagName獲取的數(shù)組長度為什么是0?
<!DOCTYPE html>
<html>
<head>
??? <meta charset="UTF-8">
??? <title>實(shí)踐題 - 選項卡</title>
??? <style type="text/css">
???? /* CSS樣式制作 */?
??????? .li{
??????????? float:left;
??????????? width:60px;
??????????? border-style:solid;
??????????? border-bottom-style:none;
??????????? border-width:thin;
??????????? margin:10px;
??????????? text-align:center;
??????????? padding:5px;
??????????? font-size:18px;
??????????? font-weight:bold;
??????????? list-style:none;
??????? }
?????? .div{
?????????? position:absolute;
?????????? border-style:solid;
?????????? border-color:blue;
?????????? width:300px;
?????????? border-width:thin;
?????????? word-spacing:15px;
?????????? text-align:left;
?????????? line-height:30px;
?????????? padding:10px;
?????????? font-weight:bold;
?????????? top:120px;
?????????? left:55px;
?????? }
??? </style>
??? <script type="text/javascript">
???????? var s=document.getElementsByTagName("li");
???????? var div=document.getElementsByTagName("div");
??????? for(var i=0;i<=s.length;i++)
?????????? { li[i].onselect= function(){
??????????????? li[i].style.border.color="red";
??????????????? switch (i){
??????????????????? case 0 :
??????????????????? div[0].style.display="block";
??????????????????? div[1].style.display="none" ;
??????????????????? div[2].style.display="none";
??????????????????? break;
??????????????????? case 1 :
??????????????????? div[1].style.display="block";
??????????????????? div[0].style.display="none" ;
??????????????????? div[2].style.display="none";
??????????????????? break;
???????????????????
??????????????????? case 2 :
??????????????????? div[2].style.display="block";
??????????????????? div[0].style.display="none" ;
??????????????????? div[1].style.display="none";
??????????????????? break;
??????????????????? default:
??????????????????? break;
???????????????????
???????????????????
??????????????????? }
?????????? }
??????????? }
??? // JS實(shí)現(xiàn)選項卡切換
???
???
??? </script>
?
</head>
<body>
<!-- HTML頁面布局 -->
?? <h1>選項卡</h1>
?? <ul id="select">
??????
?????? <li>房產(chǎn)</li>
?????? <div>275萬購昌平鄰鐵三居 總價20萬買一居
???? 200萬內(nèi)購五環(huán)三居 140萬安家東三環(huán)
???? 北京首現(xiàn)零首付樓盤 53萬購東5環(huán)50平
???? 京樓盤直降5000 中信府 公園樓王現(xiàn)房</div>
???????
?????? <li>家居</li>
?????? <li>二手房</li>
??????
??????
?? </ul>
?
</body>
</html>
?
2015-01-08
長度為0是因?yàn)槟銢]有獲取到標(biāo)簽,原因是你的js代碼放到了標(biāo)簽的上面,在文檔加載到j(luò)s時獲取不到html,因?yàn)閔tml還沒有加載出來,解決辦法可以將js放到后面或者給js外面套上window.onload = function(){}
2015-01-08
注意代碼的加載順序,當(dāng)你執(zhí)行script時,頁面還沒出來呢,所以
getElementsByTagName得到的長度是0,把script放到代碼最后面去
2015-01-08
你把script這段代碼放到ul后面執(zhí)行