tom1
..._onclick html 存多个id">
赞
踩
id作为识别元素的唯一标识,从语义上讲不应该出现共用现象,实际操作中如果有多个元素共用id也会造成意料之外的问题。
项目结构简单时,这样的错误一般不会出现,但是在结构复杂,又有大量重复功能出现时容易出现id重复现象。
实际操作中,今天有发现一个功能异常,A处和B处功能相同,而且A和B的父页面默认隐藏,都通过对应的点击事件触发弹窗显示,A处和B处的功能时好时坏,最终排查为id重复导致的,项目代码因为不能放出来,所以写了如下小demo来展示这个问题。
多元素同id时的事件绑定只在第一个元素生效
<html lang="zh-en"> <head> </head> <body> <div id="tom">tom1</div> <div id="tom">tom2</div> <div id="tom">tom3</div> <script> var tom = document.getElementById('tom'); tom.onclick = function() { console.log(tom); // 点击tom1时输出 <div id="tom">tom1</div> // 其他两个元素不触发该事件 } </script> </body> </html>
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。