为了账号安全,请及时绑定邮箱和手机立即绑定

请问为什么这里ul1我没有声明,也可以直接使用?正确的写法不是应该先来获取ul1后才能用吗

请问为什么这里ul1我没有声明,也可以直接使用?正确的写法不是应该先来获取ul1后才能用吗

慕田峪8701529 2017-09-13 12:08:43
<script>    window.onload=function(){        var aLi=ul1.getElementsByTagName('li');        var i=0;        for(i=0;i<aLi.length;i++){            aLi[i].style.background='red';        }    }</script><ul id="ul1">    <li class="box"></li>    <li></li>    <li class="box"></li>    <li></li>    <li class="box"></li></ul>
查看完整描述

3 回答

已采纳
?
橋本奈奈未

TA贡献436条经验 获得超108个赞

浏览器对于页面的id元素会直接定义一个全局属性。

查看完整回答
反对 回复 2017-09-13
  • 慕田峪8701529
    慕田峪8701529
    那既然这样也可以执行,我们是不是可以省步骤(即不用先声明变量来获取UL1),直接这样使用不就可以了吗。
  • 橋本奈奈未
    橋本奈奈未
    理论上你可以这么做,但是不建议,毕竟代码阅读起来会很苦难,而且容易出错,全局属性很容易就被其他变量覆盖掉了
  • 慕田峪8701529
    慕田峪8701529
    谢谢噢,我明白了。
?
颜鸿羽

TA贡献108条经验 获得超56个赞

明知故问!

查看完整回答
反对 回复 2017-09-13
  • 慕田峪8701529
    慕田峪8701529
    我哪里明知故问了,我是不小心写错了,没有先获取UL1,但是发现也能执行,不知道为什么这样写也可以
  • 3 回答
  • 0 关注
  • 1521 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信