為什么我這個(gè)切換實(shí)現(xiàn)不了,提示說(shuō)獲得div標(biāo)簽組的屬性為空
<!DOCTYPE html>
<html>
<head>
? ? <meta charset="UTF-8">
? ? <title>實(shí)踐題 - 選項(xiàng)卡</title>
? ? <style type="text/css">
? ? ?/* CSS樣式制作 */ ?
? ? body,div,ul,li,p,a{
? ? ? ? margin:0px;
? ? ? ? padding:0px;
? ? }
? ? ul li{
? ? ? ? list-style:none;
? ? }
? ? #box{
? ? ? ? width:300px;
? ? ? ? height:200px;
? ? ? ? position:relative;
? ? }
? ? #box ul li{
? ? ? ? float:left;
? ? ? ? width:60px;
? ? ? ? height:30px;
? ? ? ? border:1px solid #BBBBBB;
? ? ? ? text-align:center;
? ? ? ? line-height:30px;
? ? ? ? margin-left:5px;
? ? ? ? cursor:pointer;
? ? }
? ? #box div{
? ? ? ? width:300px;
? ? ? ? height:200px;
? ? ? ? position:absolute;
? ? ? ? top:40px;
? ? ? ? margin-left:5px;
? ? ? ? font-size:14px;
? ? }
? ? .show{
? ? ? ? display:block;
? ? }
? ? .hide{
? ? ? ? display:none;
? ? }
? ? </style>
? ? <script type="text/javascript">
? ? var oBox = document.getElementById("box");
? ? var oUl = document.getElementById("BB");
? ? var oLi = oUl.getElementsByTagName("li");
? ? var CT = oBox.getElementsByTagName("div");
? ? // JS實(shí)現(xiàn)選項(xiàng)卡切換
? ? for(var i = 0;i < oLi.length;i++){
? ? ? ? oLi[i].index = i;
? ? ? ? oLi[i].onclick = function(){
? ? ? ? ? ? for(var n = 0;n < oLi.length;n++){
? ? ? ? ? ? ? ? oLi.className = '';
? ? ? ? ? ? ? ? CT.className = 'hide';
? ? ? ? ? ? }
? ? ? ? ? ? this.className = '';
? ? ? ? ? ? CT[this.index].className= 'show';
? ? ? ? }
? ? }
? ? </script>
?
</head>
<body>
<!-- HTML頁(yè)面布局 -->
? ? <div id="box">
? ? ? ? <ul id="BB">
? ? ? ? ? ? <li>房產(chǎn)</li>
? ? ? ? ? ? <li>家居</li>
? ? ? ? ? ? <li>二手房</li>
? ? ? ? </ul>
? ? ? ? <div class="show">
? ? ? ? 275萬(wàn)購(gòu)昌平鄰鐵三居 總價(jià)20萬(wàn)買一居
? ? ? ? <br /><br />
? ? ? ? 200萬(wàn)內(nèi)購(gòu)五環(huán)三居 140萬(wàn)安家東三環(huán)
? ? ? ? <br /><br />
? ? ? ? 北京首現(xiàn)零首付樓盤 53萬(wàn)購(gòu)東5環(huán)50平
? ? ? ? <br /><br />
? ? ? ? 京樓盤直降5000 中信府 公園樓王現(xiàn)房
? ? ? ? </div>
? ? ? ? <div class="hide">
? ? ? ? 40平出租屋大改造 美少女的混搭小窩
? ? ? ? <br /><br />
? ? ? ? 經(jīng)典清新簡(jiǎn)歐愛(ài)家 90平老房煥發(fā)新生
? ? ? ? <br /><br />
? ? ? ? 新中式的酷色溫情 66平撞色活潑家居
? ? ? ? <br /><br />
? ? ? ? 瓷磚就像選好老婆 衛(wèi)生間煙道的設(shè)計(jì)
? ? ? ? <br /><br />
? ? ? ? </div>
? ? ? ? <div class="hide">
? ? ? ? 通州豪華3居260萬(wàn) 二環(huán)稀缺2居250w甩
? ? ? ? <br /><br />
? ? ? ? 西3環(huán)通透2居290萬(wàn) 130萬(wàn)2居限量搶購(gòu)
? ? ? ? <br /><br />
? ? ? ? 黃城根小學(xué)學(xué)區(qū)僅260萬(wàn) 121平70萬(wàn)拋!
? ? ? ? <br /><br />
? ? ? ? 獨(dú)家別墅280萬(wàn) 蘇州橋2居優(yōu)惠價(jià)248萬(wàn)
? ? ? ? </div>
? ? </div>
?
</body>
</html>
2018-10-11
var text = document.getElementById('text');
var lis = document.getElementsByTagName('li');
var btns = document.getElementsByTagName('button');
var box = document.getElementById('box');
// 遍歷
???????? function each(array,fn){
???????????????? for(var i=0;i<array.length;i++){
???????????????? fn(i,array[i]);
???????????????? }
???????? }
each(btns,function(index,ele){
???????????? ele.onclick = function(){
???????????????????????? classMethod.addClass(index,ele)
? ? ? ? ? ? ?}
???})
???????? var classMethod = {
????????????????clearClass:function (className,parentNode){
???????????????????? var pattern = new RegExp('(^|\\s+)' + className + '($|\\s+)');
???????????????????? var allNodes = parentNode.getElementsByTagName('*');
???????????????????? parentNode = parentNode || document;
???????????????????? for(var i = 0;i<allNodes.length;i++){
???????????????????????? if(pattern.test(allNodes[i].className)){
???????????????????????? allNodes[i].className ="";
???????????????????? }
???????? ???? }
????????},
? ? ? ? addClass:function (index,ele){
???????????????????????? if(lis[index].className){
???????????????????????? ???????? return;
???????????????????????? }else if(!lis[index].className){
???????????????????????????????? classMethod.clearClass("active",text);
???????????????????????????????? classMethod.clearClass('zIdx',box);
???????????????????????????????? lis[index].className = "active";
???????????????????????????????? ele.className ="zIdx";
???????????????????????? }
???????????????? }
????}