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

values are seen in firebug but array length is shown as undefined

本文关键字:数组 显示 未定义 firebug      更新时间:2023-09-26

见下面从我那端使用的代码。

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

值正在为firebug中的len1数组填充。但是当我试着求len1的长度时。长度未定义

告诉我你的建议谢谢!

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

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

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

var len1 = document.getElementById(div_name);    
if (len1 === null)
{
  alert('oops');
}

为什么您决定document.getElementById返回具有长度属性的数组?它不返回任何数组,它返回的是没有这个属性的element。这就是为什么你有undefined

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