慕粉3690804
2016-07-23 15:44
如下图:在图3中红色所标注的区域使用了两次ID选择器,图1中这两个ID选择器都起了作用,这是为什么?(这与在一个HTML 文档中只能使用一次ID选择器说法相违背) 图2 是代码部分。
图1
图2
图3
一个网页中出现2个以上同名的id选择器也是可以的,语法上可以啊,反正程序又没有报错!但如果页面涉及到js,就不好了。因为js里获取DOM是通过getElementById,而如果页面出现同一个id几次,这样就获取不到了。所以id要有唯一性。最后,成熟网站里,你很少看到css里用id选择器的,都是用class,id选择器留给写js的人用,这样避免冲突。
一个HTML 文档中本来也可以使用多次相同的ID选择器,这是可以的,这是允许的,在html语法中没有任何的错误,当然可以了,你运行报错了,没有报错吧,所以在语法上没有任何问题,程序可以正常运行!那么为什么说一个HTML 文档中只能使用一次ID选择器,这种说法是为了后续使用javascript做铺垫啊!我们在使用javascript的时候为了获取到一个元素对象,会这么写,documnet.getElementById("元素id的值"); 你想过没有,如果页面中有2个元素的id相同的话,那么documnet.getElementById("元素id的值");这句话,获取到的元素对象到底是获取到哪个对象呢,它会获取到第一个id="元素id的值"的元素,所以你想想,一个HTML 文档中使用多次相同的ID选择器对后续的javascript编程会有多大的影响呢?
id一般是用来设置私有属性
class一般设置公有属性。
所以如果id写一样效果就和class一样了,尽管没有语法错误,但是不建议写一样,而且对后期编写js有很大影响。
不是强制性规定吧,只是大家约定俗成?
这个,不太懂。是因为在内联标签内?
说只能使用一次是不是因为要限制什么东西,那class为什么不限制,不重名就行吧
因为使用的都是同一个id选择器?
我是新手也不太懂,强答一波_(:з」∠)_
初识HTML(5)+CSS(3)-升级版
1225806 学习 · 18234 问题
相似问题