在html页面中有多个ID是否可以接受?

Bra*_*son 12 html jquery css-selectors

Stack Overflow关于idvs 有很多问题,class但这些问题几乎总是与CSS有关 - 而且普遍接受的答案是使用类来设置特定元素集的样式,以及特定实例的ID.有道理,公平.

然而,我发现当我做越来越多的Javascript/jQuery/ajax时,这种方法开始变得不那么明确了,我发现语义元素应该被给予id的情况,但因为可能有多个实例我'我应该使用课程.

这是我的意思的一个例子:

看看Stack Overflow的降价问题编辑器上的工具栏 - 每个按钮都有一个唯一标识它的ID.有一个完美的意义 - 它是一个执行特定功能的按钮,并且可能有基于该id挂钩的脚本.

现在假设我正在构建一个富Web应用程序,并且有一个页面有两个选项卡,每个选项卡上都有一个markdown编辑器.这是否意味着工具栏按钮现在应该使用识别它们?

这似乎是错的.

另一个例子:我正在一个照片库网站上工作,每个照片上都有一个小工具栏.惯例说因为这些按钮有多个实例我应该使用类.真?

所以我的问题是......

  • 如果我在页面上犯了重复ID的罪行,哪些浏览器实际上会破坏?
  • 对于那些确实破坏的浏览器,它只是会破坏的CSS样式,还是jQuery选择器也会破坏.
  • 在所描述的情况下使用重复的ID真的很糟糕.

And*_*Vit 12

类意味着......(无限期)ID意味着...(权威)

"这个div是一个照片工具栏.可以更喜欢它." 有道理,我会用一堂课.

我不一定是ID工具栏按钮,除非我确定页面上只能有一个该工具栏的实例.在使用StackOverflow的markdown编辑器的情况下,我也认为这些应该是更灵活的类(整个编辑器可以包含在一个唯一的ID中,比如#answer-editor或#compm- editor).

浏览器在接受的内容方面非常灵活,但这并不意味着标准应该被打破.