第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

能幫我看下哪里出問(wèn)題了么?檢查了N多遍,還是沒(méi)檢查出問(wèn)題所在

<!doctype html>
<html>
<head>
??? <meta charset="UTF-8">
?? ?<title>Document</title>
??? <script type="text/javascript">
? window.onload=function(){
??? var oParent = document.getElementById("list");
??? var len1 = getByClass("on","list");
??? alert(len1.length);
??? var len2 = getByClass("on");
??? alert(len1.length);
??? ?
}
function getByClass(clsName, parent){
?//定義函數(shù)getByClass()實(shí)現(xiàn)獲取document或指定父元素下所有class為on的元素 ?
?? var oClass = parent.getElementsByTagName("*");
?? var boxArr = new Array();
?? for(var i =0;i<oClass.length;i++){
?????? if(oClass[i].className == clsName){
?????????? boxArr.push(oClass[i]);
?????? }
?????? return boxArr;
?? }
?}
</script>
</head>
<body>
?? ??? ?<ul id="list">
?? ??? ??? ?<li>1</li>
?? ??? ??? ?<li>2</li>
?? ??? ??? ?<li>3</li>
?? ??? ??? ?<li>4</li>
?? ??? ?</ul>
?? ??? ?<p>class為on的p標(biāo)簽</p>
</body>
</html>



正在回答

7 回答

http://img1.sycdn.imooc.com//57da551b00013b4e08000673.jpg我能發(fā)現(xiàn)的問(wèn)題都在圖里,本地測(cè)試ok了,你可以改改試試

0 回復(fù) 有任何疑惑可以回復(fù)我~

1、getByClass(clsName,parent)函數(shù)里的parent參數(shù)是元素的ID,而不是元素本身,所以應(yīng)該通過(guò)document.getElementById(parent),先定位到這個(gè)元素,然后再getElementsByTagName(clsName)獲取元素下所有的子元素。

2、就是首先要判斷參數(shù)parent是否存在,如果存在,就用document.getElementById(parent)定位元素,如果不存在,就document.body定位全局。用三目運(yùn)算判斷比較快捷一些,寫法如下var oClass=(parent?document.getElementById(parent):document.body).getElementsByTagName(clsName)

3、你的?return boxArr;寫在了for循環(huán)里面,導(dǎo)致循環(huán)只執(zhí)行一次就跳出函數(shù)了,也就是只判斷了第一個(gè)子元素的class是不是on。所以應(yīng)該return boxArr;寫在getByClass(clsName,parent)函數(shù)的最后一句,因?yàn)閳?zhí)行了return語(yǔ)句,函數(shù)就跳出了,return后面的任何語(yǔ)句都不會(huì)再執(zhí)行。

4、你的body里也沒(méi)給任何元素添加名稱為on的class類。

0 回復(fù) 有任何疑惑可以回復(fù)我~
#1

慕粉3413685

前兩條有點(diǎn)錯(cuò)誤,應(yīng)該是是通過(guò)getElementsByTagName("*")獲取所有子元素,更正一下: var oClass=(parent?document.getElementById(parent):document.body).getElementsByTagName("*")
2016-06-12 回復(fù) 有任何疑惑可以回復(fù)我~

<!doctype html>

<html>

<head>

? ? <meta charset="UTF-8">

? ? <title>Document</title>

? ? <script type="text/javascript">

? window.onload=function(){

? ? <!--var oParent = document.getElementById("list");-->

? ? var len1 = getByClass("on","list");

? ? alert(len1.length);

? ? var len2 = getByClass("on");

? ? alert(len2.length);

? ? ?

}

function getByClass(clsName,parent){

?//定義函數(shù)getByClass()實(shí)現(xiàn)獲取document或指定父元素下所有class為on的元素 ?

? ?var oParent=parent?document.getElementById(parent):document,

? ? oClass = oParent.getElementsByTagName('*');

? ?var boxArr = new Array();

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

? ? ? ?if(oClass[i].className==clsName){

? ? ? ? ? ?boxArr.push(oClass[i]);

? ? ? ?}

? ?}

? ?return boxArr;

?}

</script>

</head>

<body>

? ? ? ? <ul id="list">

? ? ? ? ? ? <li class="on">1</li>

? ? ? ? ? ? <li class="on">2</li>

? ? ? ? ? ? <li>3</li>

? ? ? ? ? ? <li>4</li>

? ? ? ? </ul>

? ? ? ? <p class="on">class為on的p標(biāo)簽</p>


</body>

</html>

大兄弟你這個(gè)問(wèn)題比較多啊,上面是我根據(jù)你的改的,你對(duì)比著學(xué)習(xí)一下吧

0 回復(fù) 有任何疑惑可以回復(fù)我~

var len1 = getByClass("on","list");
??? alert(len1.length);
??? var len2 = getByClass("on");
??? alert(len1.length);

將len1改為len2!再將參數(shù)里的引號(hào)改為英文引號(hào)即可!

0 回復(fù) 有任何疑惑可以回復(fù)我~

?return boxArr; 往外挪一層,遍歷完了再返回

0 回復(fù) 有任何疑惑可以回復(fù)我~

?var len1 = getByClass("on","list");

這句應(yīng)該是

?var len1 = getByClass("on",oParent);

0 回復(fù) 有任何疑惑可以回復(fù)我~

?<script type="text/javascript">
? window.onload=function(){
??? var oParent = document.getElementById("list");


??? var len1 = getByClass("on","list");
??? alert(len1.length);
??? var len2 = getByClass("on");

//彈出len2的長(zhǎng)度
??? alert(len2.length);
??? ?
}
function getByClass(clsName, parent){
?//定義函數(shù)getByClass()實(shí)現(xiàn)獲取document或指定父元素下所有class為on的元素 ?

//先判斷parent是否存在

if(parent){

var oClass = ducument.getElementById(parent).getElementsByTagName("*");

}else{
?? var oClass = document.getElementsByTagName("*");

}
?? var boxArr = new Array();
?? for(var i =0;i<oClass.length;i++){
?????? if(oClass[i].className == clsName){
?????????? boxArr.push(oClass[i]);
?????? }
?????? return boxArr;
?? }
?}
</script>

0 回復(fù) 有任何疑惑可以回復(fù)我~

舉報(bào)

0/150
提交
取消

能幫我看下哪里出問(wèn)題了么?檢查了N多遍,還是沒(méi)檢查出問(wèn)題所在

我要回答 關(guān)注問(wèn)題
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)