在firebug中可以看到值,但数组长度显示为undefined

时间:2014-07-11 21:08:19

标签: javascript

见下面我用的代码。

var len1=document.getElementById(div_name);
            alert(len1.length);

为firebug中的len1数组填充值。但是当我试图获得len1.length的长度时,我认为它是未定义的。

与我分享您的建议 谢谢!

3 个答案:

答案 0 :(得分:0)

文档元素不是数组。你在Firebug中看到的东西是一个对象。

与jQuery的$()方法不同,getElementById()将返回单个对象,如果未找到匹配则返回null

如果你想知道你是否匹配任何东西:

var len1 = document.getElementById(div_name);    

if (len1 === null)
{
  alert('oops');
}

答案 1 :(得分:0)

为什么你决定document.getElementById返回带有length属性的数组?它不返回任何数组,它返回没有此属性的element。这就是你undefined的原因。

答案 2 :(得分:0)

getElementById()返回单个DOM元素,而不是数组,并且该元素没有length属性(这就是为什么你看到undefined)。如果您尝试使用该ID获取多个元素,那么这是一种错误的方法,因为在有效代码中只能存在一个具有给定ID的元素(并且没有getElementsById())。