亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

這是為什么啊,style屬性未定義

http://img1.sycdn.imooc.com//5834ef9e0001647d04480440.jpg這是為什么啊

正在回答

5 回答

<!DOCTYPE?html>
<html>
<head>
<meta?charset="UTF-8">
<title></title>
<style>
div{
height:?200px;
width:?200px;
border:?1px?solid?saddlebrown;
display:?none;
}
</style>
</head>
<body>
<!--
獲取選項卡和div
-->

<input?type="button"id="btn1"?value="選項卡一"/>
<input?type="button"id="btn2"?value="選項卡二"?/>
<input?type="button"id="btn3"?value="選項卡三"?/>
<div?id="div1"?style="display:?block;">內容一</div>
<div?id="div2">內容一2</div>
<div?id="div3">內容一3</div>
<script>
var?btns=document.getElementsByTagName("input");
var?odiv=document.getElementsByTagName("div");

for(var?i=0;l=btns.length,i<l;i++){
????!function(i){
????????odiv=document.getElementsByTagName("div");
????????btns[i].onclick=function(){
????????????deColor();
????????????btns[i].style.background='blue';
????????????boxHide();
????????????odiv[i].style.display='block'
?????????//alert(odiv[i].innerHTML)
????}
????}(i)
}
//給所有的btns清除背景色
function?deColor(){
?for(var?i=0;i<btns.length;i++){
?????btns[i].style.background='';
?}
}
//注意,div只能3個,所有div隱藏,其實不建議用TagName,用className比較好,注意ie兼容就好,可以學習下
//課程http://www.xianlaiwan.cn/learn/138
function?boxHide(){
????for(var?i=0;i<btns.length;i++){
????odiv[i].style.display='none'
????}
}

</script>
</body>
</html>

親,我是用閉包的方法,做這個功能的,為什么用閉包,是因為for循環是一次性吧所有i都循環出來,我也理解你之前的btns.index=i;,他是給每個下標i分類吧,不過我沒用這種方法

1 回復 有任何疑惑可以回復我~
#1

慕UI8820655 提問者

非常感謝!
2016-11-24 回復 有任何疑惑可以回復我~

var?i=0;l=btns.length,i<l;i++

0 回復 有任何疑惑可以回復我~
#1

慕UI8820655 提問者

把第一個for循環條件l=btns.length,i&lt;l 改成這geese var i=0;i<btns.length;i++,總之謝謝啦
2016-11-24 回復 有任何疑惑可以回復我~

for循環里面有個小于號被轉義了,相信你看的出來

0 回復 有任何疑惑可以回復我~

<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title></title>

<style>

div{

height: 200px;

width: 200px;

border: 1px solid saddlebrown;

display: none;

}

</style>

</head>

<body>

<!--

獲取選項卡和div

-->

<input type="button"id="btn1" value="選項卡一"/>

<input type="button"id="btn2" value="選項卡二" />

<input type="button"id="btn3" value="選項卡三" />

<div id="div1" style="display: block;">內容一</div>

<div id="div2">內容一2</div>

<div id="div3">內容一3</div>

<script>

var btns=document.getElementsByTagName("input");

var div=document.getElementsByTagName("div");

for(var i=0;i<btns.length;i++){

//console.log(i);//0,1,2

btns.index=i;//i=0,1,2自定義一個index屬性n

var last=btns[i];//上一個

btns[i].onclick=function(){

last.style.background="";

alert();

//div[].style.display="none";

this.style.backgroundColor="blue";

//div[2].style.display="block";

last=this;

}

}

</script>

</body>

</html>


0 回復 有任何疑惑可以回復我~

我竟然有點看不懂你的代碼,聲明index并賦值是btns.index=i么,不應該是var index=i;么

你console.log(last.index)看看能出來什么

0 回復 有任何疑惑可以回復我~
#1

慕UI8820655 提問者

btns.index=i;是給btns定義了一個屬性,我剛試了一下console.log(last.index),說last.index為定義
2016-11-23 回復 有任何疑惑可以回復我~
#2

我不是管家 回復 慕UI8820655 提問者

能不把代碼貼出來,我測試一下
2016-11-23 回復 有任何疑惑可以回復我~
#3

我不是管家 回復 慕UI8820655 提問者

能不能把代碼貼出來,我測試一下
2016-11-23 回復 有任何疑惑可以回復我~
#4

慕UI8820655 提問者

一帖出,謝謝啊
2016-11-23 回復 有任何疑惑可以回復我~
#5

慕UI8820655 提問者 回復 我不是管家

就是我注釋掉的那個地方
2016-11-23 回復 有任何疑惑可以回復我~
查看2條回復

舉報

0/150
提交
取消

這是為什么啊,style屬性未定義

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號