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

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

幫忙看一下非常感謝,實在不懂為什么用class名取出來的元素,沒辦法取到屬性值?

幫忙看一下非常感謝,實在不懂為什么用class名取出來的元素,沒辦法取到屬性值?

EverDream3726731 2018-02-27 11:48:33
下面的代碼,用我自己寫的方法getByclass同樣可以取到包含16個元素的數組,但是不能得到屬性值width,顯示錯誤Cannot read property 'width' of undefined,如果把自己寫的方法換成getElementsNameByTagName("div"),就可以取到寬度值50px,不懂為什么。麻煩大神幫看看,謝謝了~~???<!DOCTYPE html><html><head><meta http-equiv="Content-Type" content="text/html" charset="utf-8"><title></title><style>div,p,ul,li{margin:0;padding:0;}li{list-style: none;}a{text-decoration:none;}div{position: relative;}body{}.redCube{width:50px;height: 50px;background: red;position: absolute;}#s{width: 100px;height: 100px;background: blue;}</style><script>window.onload=function(){var b = document.getElementById("s");var str = "";for(var i=0;i<16;i++){str += "<div class='cube' style='width:50px;height: 50px;background: red;position: absolute;left:"+i*70+"px;' ></div>";?}document.body.innerHTML=str;var timer = null;var num = 0;var oCubes = getByClass(document,"cube");alert(oCubes[0].style.width); ?};?function getStyle(obj,attr){return obj.currentStyle?obj.currentStyle[attr]:getComputedStyle(obj,null)[attr];};function getByClass(obj,Name){var arr = [];obj= obj?obj:document;?var aElement = obj.getElementsByTagName('*');for(var i=0;i<aElement.length;i++){if(aElement[i].className==Name){arr.push(obj);}?}?return arr;};</script></head><body></body></html>
查看完整描述

3 回答

?
這都不會

TA貢獻72條經驗 獲得超92個贊

下次用代碼模式兄弟,看得我眼都快瞎了。

我估計你也是一時疏忽,其實很簡單,是個手誤。問題出在getByClass中的

if(aElement[i].className==Name){
????arr.push(obj);
}

應該是

if(aElement[i].className==Name){
????arr.push(aElement[i]);
}

把這個標簽本身添加進數組,而不是把obj添加進數組,obj是document,并沒有改變。、

如果滿意請采納~

查看完整回答
1 反對 回復 2018-02-27
?
hello_world_mk

TA貢獻13條經驗 獲得超2個贊

你這是在練習啥??

查看完整回答
反對 回復 2018-03-02
?
幕布斯0246692

TA貢獻2條經驗 獲得超0個贊

同上兄弟~

查看完整回答
反對 回復 2018-02-27
  • 3 回答
  • 0 關注
  • 1533 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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