2012-07-16 83 views
0

我正在做一个Javascript和jQuery动画,并且它在所有浏览器中工作的很好,在Internet Explorer中较少,它显示此警报:'0.width为null或不是对象”看看这里的代码:http://jsfiddle.net/3y8cN/IE 0.width为空或不是对象

这是一个动画百分比吧,这不是在IE工作在Chrome就好了,但是,看起来,这个问题是在if

if (barracent[0].style.width != '0'){ 
    multiplier[0].innerHTML = value1+'%'; 
} 

如何我可以避免这个问题吗?

是的,我知道我可以使用循环来避免那么大的代码,我会在稍后再做。 非常感谢提前。

+0

使用jQuery来选择具有类而不是名称的元素。使用每个来循环。 – epascarello 2012-07-16 18:00:24

回答

1

DIV不支持'name'属性,所以document.getElementsByName('barracent')没有返回IE中的任何元素(其他浏览器不能有这个限制)。请查看this answer了解有关此问题的更多详细信息。

+0

哇,非常感谢,但在这种情况下,我应该使用QuerySelector按类来获取它们,还是为每个div使用一个ID?再次感谢! – 2012-07-16 17:56:12

+0

@HenriqueFoletto:这取决于你。无论哪种方式应该工作正常,但要一致:) – Briguy37 2012-07-16 18:07:22

+0

querySelectorAll无法在IE中正常工作,试图用另一种方式来做到这一点。再次感谢 – 2012-07-16 18:31:20

相关问题