为了账号安全,请及时绑定邮箱和手机立即绑定

获取Obox[0].offsetWidth报错,不知道哪里出的问题,求大神指点,谢谢

代码是按老师来的,可是还是报错呢:
http://img1.sycdn.imooc.com//566d09a30001491205770541.jpg

正在回答

8 回答

function getClass(parrent,cls){
   var boxArr = new Array();
   var elements = parrent.getElementsByTagName("*");
   for (var i = 0; i < elements.length; i++) {
      if (elements[i].className==cls) {
         boxArr.push(elements[i]);
      }
   }
   // 符合条件的节点数组你没有返回
   return boxArr;
}

改成这样就可以了。主要是你没有返回的问题。

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

tlx6550 提问者

非常感谢!
2015-12-13 回复 有任何疑惑可以回复我~

返回了也没用,

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

忘记返回了,,,谢谢。。

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

我也是卡在这里,谢谢

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

原来如此,忘记返回了,O(∩_∩)O谢谢

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

楼上正解

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

<script>

window.onload=function(){

watarFlall('main','box');

};

function watarFlall(parrent,box){

//将main 下的所有 class为 box的 元素取出来;

var Oparrent = document.getElementById(parrent);

var Obox = getClass(Oparrent,box);

//设置main居中

var oBoxW = Obox[0].offsetWidth;

var cols = Math.floor(document.documentElement.clientWidth/oBoxW);

Oparrent.style.cssText='width:'+oBoxw*cols+'px;margin:0 auto';


}


function getClass(parrent,cls){

var boxArr = new Array();

var elements = parrent.getElementsByTagName("*");

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

if (elements[i].className==cls) {

boxArr.push(elements[i]);

}

}

}

</script>


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

你的Obox是一个空数组,所以 Obox[0]  就是undefined  然后你再 Obox[0].offsetWidth;就报错了,你可以给一下你的完整代码,大家帮你看一下 为什么Obox是空数组


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

举报

0/150
提交
取消

获取Obox[0].offsetWidth报错,不知道哪里出的问题,求大神指点,谢谢

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信