为了账号安全,请及时绑定邮箱和手机立即绑定

为什么在一个HTML文档中能使用两次ID 选择器?

如下图:在图3中红色所标注的区域使用了两次ID选择器,图1中这两个ID选择器都起了作用,这是为什么?(这与在一个HTML 文档中只能使用一次ID选择器说法相违背) 图2 是代码部分。

    

57931ecc0001603b04080142.jpg

                                         图1

57931ecc00018af903340072.jpg

                                      图2

57931ecc0001158c04980146.jpg

                                                                   图3


正在回答

8 回答

一个网页中出现2个以上同名的id选择器也是可以的,语法上可以啊,反正程序又没有报错!但如果页面涉及到js,就不好了。因为js里获取DOM是通过getElementById,而如果页面出现同一个id几次,这样就获取不到了。所以id要有唯一性。最后,成熟网站里,你很少看到css里用id选择器的,都是用class,id选择器留给写js的人用,这样避免冲突。

1 回复 有任何疑惑可以回复我~

一个HTML 文档中本来也可以使用多次相同的ID选择器,这是可以的,这是允许的,在html语法中没有任何的错误,当然可以了,你运行报错了,没有报错吧,所以在语法上没有任何问题,程序可以正常运行!那么为什么说一个HTML 文档中只能使用一次ID选择器,这种说法是为了后续使用javascript做铺垫啊!我们在使用javascript的时候为了获取到一个元素对象,会这么写,documnet.getElementById("元素id的值"); 你想过没有,如果页面中有2个元素的id相同的话,那么documnet.getElementById("元素id的值");这句话,获取到的元素对象到底是获取到哪个对象呢,它会获取到第一个id="元素id的值"的元素,所以你想想,一个HTML 文档中使用多次相同的ID选择器对后续的javascript编程会有多大的影响呢?

1 回复 有任何疑惑可以回复我~

id一般是用来设置私有属性

class一般设置公有属性。

所以如果id写一样效果就和class一样了,尽管没有语法错误,但是不建议写一样,而且对后期编写js有很大影响。


0 回复 有任何疑惑可以回复我~

不是强制性规定吧,只是大家约定俗成?

0 回复 有任何疑惑可以回复我~

这个,不太懂。是因为在内联标签内?

0 回复 有任何疑惑可以回复我~

说只能使用一次是不是因为要限制什么东西,那class为什么不限制,不重名就行吧

0 回复 有任何疑惑可以回复我~

因为使用的都是同一个id选择器?

我是新手也不太懂,强答一波_(:з」∠)_

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

为什么在一个HTML文档中能使用两次ID 选择器?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信