js,用getByClass取到的数组里面的对象取不到属性,getElementsByTagName就可以,为什么呢? 150

<!DOCTYPEhtml><html><head><metahttp-equiv="Content-Type"content="text/html"charset="u... <!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;}

</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>

如果上面的getByClass一段换成var oCubes = document.getElementsByTagName("div");
alert就可以弹出oCube[0]的宽度,不知道是为什么
展开
 我来答
帐号已注销
2018-02-25 · TA获得超过434个赞
知道小有建树答主
回答量:272
采纳率:34%
帮助的人:67.1万
展开全部
因为没有getbyclass.....这个方法啊,只有getelementbyclassname......
追问
我自己写的方法
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式