直接用id获取dom元素

标签上设置了id属性之后,在script中不使用getElementById()方法,也能够直接用id获取dom元素。

<body>
  <h2 id="title">title</h2>
  <script>
    console.log(title);
  </script>
</body>

输出结果:
在这里插入图片描述

如果dom元素的id名称不和js内置属性(history、location等)或全局变量重名的话,该名称自动成为window对象的属性,属性值指向表示文档元素的HTMLElement元素,所以可以直接用来操作dom。

<body>
  <h2 id="title">title</h2>
  <script>
    var title = title
    console.log(title);
  </script>
</body>

在这里插入图片描述

浏览器支持程度:Firefox、chrome、IE都支持 。不过现在还未形成标准,为了保险,还是不推荐使用。

参考文章:https://segmentfault.com/a/1190000020493154

在客户端Javascript中,Window对象是以全局对象的形式存在于做用域链的最上层,这就意味着在HTML文档中使用的id属性会成为被脚本访问的全局变量。若是文档包含一个<div id='box'>元素,那么就能够经过全局变量box来引用此元素。可是,有一个很重要的警告,若是Window对象已经具备此名字的属性,这就不会发生。好比,id是“history”,“location”的元素,就不会以全局变量的的形式出现,因为这些id已经被占用了。
若是HTML文档包含一个id为“x”的元素,而且在代码中声明并赋值给全局变量x,那这个变量的存在就会阻止元素获取它的window属性,而若是脚本中的变量声明出如今命名元素以后,那么变量作用域的显示赋值会覆盖该属性的隐式值。
元素id做为全局变量的隐式应用是web浏览器演化过程当中遗留的怪癖。它主要是出于与已有web页
面后向兼容性的考虑,但这里并不推荐使用这种作法。因此,但愿经过id名来获取dom元素,最好仍是使用document.getElementById(),这是一个document对象的方法,能够经过它来得到指定id的html元素。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值