在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/HTML5  HTML/ getElementsByTagName的問題

getElementsByTagName的問題

<!DOCTYPE html>
<html>
<head lang="en">

<meta charset="UTF-8">
<title>實踐題 - 選項卡</title>
<style type="text/css">
    *{padding:0px;margin: 0px;font:12px normal "microsoft yahei";}
    #tabs {width:290px;padding:5px;height:150px;margin:20px;}
    #tabs ul{list-style:none;display: block;height:30px;line-height:30px;border-bottom:2px saddlebrown solid;}
    #tabs ul li{background:#fff;cursor:pointer;float:left;list-style:none;height:28px;line-height:28px;margin:0px 3px;border:1px solid #aaaaaa;border-bottom:none;display:inline-block;width:60px;text-align: center;}
    #tabs ul li.on{border-top:2px solid saddlebrown;border-bottom: 2px solid #fff;}
    #tabs div{height:120px;line-height: 25px;border:1px solid #336699;border-top:none;padding:5px;}
    .hide{display: none;}
</style>
<script type="text/javascript">
     window.onload = function(){
         var oTab = document.getElementById("tabs");
         var oUl = oTab.getElementsByTagName("ul")[0];
         var oLis = oUl.getElementsByTagName("li");
         var oDivs= oTab.getElementsByTagName("div");

         for(var i= 0,len = oLis.length;i<len;i++){
             oLis[i].index = i;
             oLis[i].onclick = function() {
                 for(var n= 0;n<len;n++){
                     oLis[n].className = "";
                     oDivs[n].className = "hide";
                 }
                 this.className = "on";
                 oDivs[this.index].className = "";
             }
         };
     }
</script>

</head>
<body>
<div id="tabs">

<ul>
    <li class="on">房產(chǎn)</li>
    <li>家居</li>
    <li>二手房</li>
</ul>
<div>
    275萬購昌平鄰鐵三居 總價20萬買一居<br>
    200萬內(nèi)購五環(huán)三居 140萬安家東三環(huán)<br>
    北京首現(xiàn)零首付樓盤 53萬購東5環(huán)50平<br>
    京樓盤直降5000 中信府 公園樓王現(xiàn)房<br>
</div>
<div class="hide">
    40平出租屋大改造 美少女的混搭小窩<br>
    經(jīng)典清新簡歐愛家 90平老房煥發(fā)新生<br>
    新中式的酷色溫情 66平撞色活潑家居<br>
    瓷磚就像選好老婆 衛(wèi)生間煙道的設計<br>

</div>
<div class="hide">
    通州豪華3居260萬 二環(huán)稀缺2居250w甩<br>
    西3環(huán)通透2居290萬 130萬2居限量搶購<br>
    黃城根小學學區(qū)僅260萬 121平70萬拋!<br>
    獨家別墅280萬 蘇州橋2居優(yōu)惠價248萬<br>

</div>

</div>

</body>
</html>

代碼如上
53bd0e9e000163d203390200.jpg

         var oTab = document.getElementById("tabs");
         var oUl = oTab.getElementsByTagName("ul")[0];
         var oLis = oUl.getElementsByTagName("li");
         var oDivs= oTab.getElementsByTagName("div");
         

為什么不能直接
var oUl = getElementsByTagName("ul")[0];
var oLis = getElementsByTagName("li");
這樣寫?還有[0]是什么意思?ul標簽不是只有一個嗎?新手剛學還望解答!

回答
編輯回答
九年囚

大兄弟,getElementsByTagName("ul")這里返回的是一個數(shù)組,不信你可以打印出來看看,凡是你看到getElementsByXXXXXX中間的那個s,一律返回的都是數(shù)組,不管你有幾個這樣的元素,即使有一個,返回的也是一個長度為1的數(shù)組,所以必須要跟一個[0]來取到具體對應的那個元素。

2017年2月3日 08:54
編輯回答
有你在
 var oTab = document.getElementById("tabs");
 var oUl = oTab.getElementsByTagName("ul")[0]; //這里用oTab而不是document,是因為oTab的范圍比較小,避免頁面中還有其它的ul。

//為什么要加[0] ?因為 ....ByTagName()返回的是數(shù)組,即使數(shù)組的元素只有一個。
2017年12月6日 10:55