问答详情
源自:8-5 类和ID选择器的区别

id选择器在页面里使用两个也能控制样式,为什么说只能用一个呢?

求一直

求问:一直搞不清楚id 和类选择器什么时候使用,什么时候不能用,感觉类选择器能做的id选择器也能做,好奇怪啊,不是说一个页面只能用一次么


http://img.mukewang.com/579c67130001814e08410354.jpg

提问者:慕粉1469845546 2016-07-30 16:38

个回答

  • forevermnj
    2016-07-30 17:33:54

    id名不能重复出现,类名可以。在写js的时候区分蛮大的

  • Ran3717567
    2016-07-30 17:01:24

    在html里面用同名的也可以运行,可是后面jsp,php等获取参数传参时就会出现错误

  • 风起0123
    2016-07-30 17:00:23

    ID 是为某个 Element 指定 DOM 操作时的"唯一"标示符
    它与页面如何渲染没有关系
    渲染是否正确取决与文档结构与样式
    (这里是浏览器默认样式表+你写的一条样式规则)
    所以可以正常显示

    但是不唯一的标示符
    会给DOM操作时带来麻烦
    如果使用byID方可能只会获取到第一个ID指向的元素
    因为它是唯一的
    DOM只找到合适结果就返回了
    如果是ID绑定到JS全局环境的浏览器
    直接访问ID标示符可能返回所有同名ID的Element数组

    由于规范没有明确说重名后会怎么样
    这导致浏览器在处理这种情况时
    具体实现可能存在差异

  • Ran3717567
    2016-07-30 16:58:03

    id不能出现同名的,类可以

  • 囧史密斯3428984
    2016-07-30 16:52:06

    别人的

    黑色风衣_BlackSweater

    css里,id选择器可以无限次数使用,并且可以写一样的。
    你在网上听别人说不能多次使用,应该是出现2个以上同名的id选择器吧。
    例如都是id="div1"
    1
    2
    <div id="div1"></div>
    <div id="div1"></div>
    其实这样写,在css里是可以的。但如果页面涉及到js,就不好了。因为js里获取DOM是通过getElementById,而如果页面出现同一个id几次,这样就获取不到了。所以id要有唯一性。
    最后,成熟网站里,你很少看到css里用id选择器的,都是用class,id选择器留给写js的人用,这样避免冲突。——已通过文档测试,引自“百度”


  • 荭绯
    2016-07-30 16:51:18

    我理解不深刻,但我猜应该是id选择器主要是是用来定义盒子的,类选择器可以用来定义其他设置类型,两个混用可以达到一定效果