HTML页面ID重复问题

在同一个HTML页面中 id不能重复,但若一个项目中有两个页面1.html和2.html,在1.html中有个ID="aa",同时在2.html中也有个ID="aa",这样是否会冲突?

根据W3C提供的规则,只限制同一页面中的ID不可重复,但并不限制不同页面之间,包括框架包含的,因为框架其实也是两个不同页面,只不过展现在了一起。至于JS调用,JS只能调用到当前页面的DOM元素,如果你要调用另一个页面的元素只能跨框架操作,所以不会冲突。
根据你描述的情况,1.html和2.html是完全独立开的,JS是分别在两个页面中执行,并不冲突。框架放在一起同时打开并不会有任何影响

另外,理论上同一页面ID不可重复,当然你真这么做了也不会有事,浏览器允许容错。当然最好不要这样做啦,会给你带来许多不必要的麻烦。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-10-27
对于节点ID来说,允许id有相同值,即使在一个页面中有两个id值相同也可以,不过一般情况下不建议这样做,因为你对一个dom节点给定id是为了用js操作它或者别的,但是如果节点的id重复了肯定是对操作会有影响的,像document.getElementById(id)获得的节点有可能不是你想要的那个节点。

回答你上面的问题,两个页面有重复的id不能确定会不会冲突,而是要看使用js的地方能不能同时取到两个页面的dom节点,如果可以,那么会有些影响,如果不能同时取到就不会影响。追问

如果我上面说的那两个页面,有我如上所说的相同ID,且那两个页面的JS代码我写在了同一个 .JS文件中,那我用把两个页面放到一个页面3.html中,那当我打开3.html时,1.html和2.html应该是同时打开的,这时会不会有影响呢?

追答

这个我给你说验证的方法吧,你用firefox打开3.html,然后在你使用两个id的地方加上var iidd=document.getElementById(id),
① 用firebug在js中打上断点,观察iidd变量的值;
② 记下后再修改其中一个id的值,保存刷新再观察iidd的值;
③ 再还原在刚才修改的id值,修改另一个id值,保存刷新观察iidd的值;

如果iidd始终有值,不是undefined,那么就说明是串在一起了,有影响;
如果步骤②或③有一次报错,iidd值为undefined,那么就说明没有影响;

话说回来,id不要相同,因为如果项目很大,id重复时有时出现的问题很头疼,也很难找到问题,特别是一些封装的js,如ext等。

本回答被网友采纳
第2个回答  2012-10-29
无论是在同一个html还是在不同的html页面中,ID都是可以重复的,但是他们的CSS属性都是一样的,如果一个页面有2个地方样式是一样的,可以使用同一个ID,但是不一样的最好不要使用。
第3个回答  2012-10-26
一定不会啊,不同html的id没有冲突 。出什么问题了啊追问

没问题,随便问问。

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网