首页 > 没用getElementById()获取元素,点击事件就生效了。这是为什么呢??

没用getElementById()获取元素,点击事件就生效了。这是为什么呢??

这个例子,就没用getElementById() 去获取到btn,为什么这个点击事件就生效了呢

<button id="btn">点击</button>
<script>
    btn.onclick = function(){
        alert(this.innerHTML);
    }
</script>

尽管是新特性~但是保险起见~还是推荐用getElementById()方法~~


我也是第一次知道这个特性,测试发现部分浏览器是不支持的。


现代浏览器特性


有些浏览器默认就是用这个名称当做ID的,不是所有的浏览器都要这个特性的


因为 浏览器会自动为有ID命名的 HTML 节点 生成同名(和 id 值相同)的 DOM对象(变量).

但这个特性, 在开发的过程中不建议使用.


button input type="xxx" 这些好像有默认的onclick事件


你的btn.onclick=...这一句能获得节点对象么,如果得不到那后面的绑定函数肯定是无效的的啊。。楼上说的那个特性我真不知道,但是最好还是按标准来吧,getElementById()在DOM1都可以了,在现在的浏览器也都支持,为什么还要去偷那个懒惹不必要的麻烦呢


之前就有答案疑惑,原生JS中可以直接使用ID名称来获取元素,而不用使用getElementById()方法

【热门文章】
【热门文章】