Javascript:与“for循环”和(“name”)[i]有关的问题

Javascript:与“for循环”和(“name”)[i]有关的问题,javascript,for-loop,Javascript,For Loop,我尝试将样式应用于holder的每个li元素 Html: <ul id="holder"> <li></li> <li></li> <li></li> </ul> Javascript: for (i = 0; i < document.getElementById("holder").getElementsByTagName("li").length; i++) {

我尝试将样式应用于holder的每个li元素

Html:

<ul id="holder">
    <li></li>
    <li></li>
    <li></li>
</ul>
Javascript:

for (i = 0; i < document.getElementById("holder").getElementsByTagName("li").length; i++)
{
  document.getElementById("holder").getElementsByTagName("li")[i].style.bottom = "-100%";
}
这似乎有效,但李[i]被认为是一个错误。。。它打破了所有其他的

问题:未捕获的TypeError:无法读取未定义的属性“style”

我尝试了很多方法,但我总是会犯这个错误,这是正常的还是我遗漏了什么


PS:这是我的第一篇帖子,如果我做错了,请告诉我,而不是仅仅删除我写的东西,我不是邪恶的,我不会把你的论坛变成垃圾,我理解规则,但英语不是我每天的语言,论坛对我来说是陌生的。。。我会犯错,但我需要建议,解释,耐心。。。谢谢。

你能缩进你的代码吗?我建议你先将li元素存储在数组中。将代码var children=document.getELementById'holder.getElementsByTagName'li';然后你可以把它们称为children[i]而不是整个东西。你得到的错误是什么?使用SO snippet编辑器,这样你的示例代码就可以运行了。代码效率非常低。如果有10个holder li标记,那么您将执行40个单独的DOM查询,而不是使用querySelectorAllholder li执行1个查询,然后存储并引用从那时起产生的结果。