对于javascript中DOM获取ID的疑问

ziluopao 发布于 2015/11/03 16:46
阅读 444
收藏 0

大家知道,原生的js获取id 可以这样:document.getElementById("id");

上面是常规的用法;还可以这样:document.id

当然后一种很简捷。所以我有一个疑问,为啥很多人那么麻烦非得用第一种呢,为啥不用后一种,不是更省代码吗?难道还有别的原因让他们没办法只能用麻烦的不成?

以下是问题补充:

@ziluopao:还有一个获取name的办法,就是直接写。比如<input type="text" name="username"/>,可以document.username;这个为啥不用getElementByName呢? (2015/11/03 16:56)
加载中
0
我去又空指针
我去又空指针
你确定能获取?
0
刚田武
刚田武
你这是从哪里学来的黑科技
0
mental
mental

是可以直接id访问的, 但有几种情况下

1. id 命名不符合变量命名规则,如 data-id , 这样就不行了

2.直接使用会给人误解是一个变量,但实际上JS引擎内部也是调用类似getElementById的函数, 
  如 test.innerText = "abc" ;  test.style.color="#000"; 这样实际上调用了两次getElementById, 这个函数是很耗时间,应该尽量减少调用的次数

3.DOM id 与全局变量命名重复 , 这样只能获取到全局变量

返回顶部
顶部