JavaScript,循环所有选择?

时间:2009-05-20 10:51:02

标签: javascript dom

我刚接触javascript,但为什么这不起作用,我想做的就是获取页面上所有选择的列表。

var elements = document.getElementsByTagName("select");
alert("there are " + elements.length + " select's");
for (i = 0; i < elements.length; i++)
{
    alert(elements[i].getAttribute('Id'));
}

编辑:错误是它根本找不到任何选择,elements.length总是为零!

5 个答案:

答案 0 :(得分:3)

你说elements.length总是为你返回 0 ,这可能是因为:

  • 您正在页面的开头运行JS代码,因此DOM尚未完全可用

答案 1 :(得分:2)

尝试使用.id代替getAttribute('Id')

答案 2 :(得分:1)

getElementsByTagName返回零的常见原因导致具有匹配元素的文档是在元素出现在文档之前运行(通常在节中而不是在名为onload或onDomReady的函数内)。

将元素移动到(END of body!)标记之前,或使用在HTML处理完毕后触发的事件处理程序。

答案 3 :(得分:1)

我想获取id属性的部分对你不起作用。可能是因为你键入了“Id”而不是“id”。

答案 4 :(得分:0)

好吧,据我所知,你的页面上的选项可能没有Id(循环中的警报显示为null)