我的同事告诉我,我不应该使用id作为段落标签.. 如果您知道自己只在页面上使用过那种段落,我认为可行的方法。
他还说页面上的所有元素都应该只使用class而不是id,除非你定义了一个标题,容器或页脚。
我刚从大学毕业,我学会了将id用于只在页面上显示一次的内容,同时使用类来显示在页面上多次显示的内容。
所以,我想知道什么方法是正确的,因为我刚接触这份工作,并且想要正确地做到这一点。
由于
答案 0 :(得分:5)
只要您知道该段落只会在页面上使用一次,我会说它很好。
示例可能是您希望在多个页面上显示但以特定方式设置样式的公司信息。赋予id一个独特的单品,并允许你这样设计它。
class属性应该用于以类似的方式设置多个控件的样式(即属于该类的所有控件)。例如,报告总计可能总是需要大而粗体,因此包含标记将被赋予reportTotals
类。可能会有多个报告,每页总共不超过一个,但它们应该看起来都一样。
答案 1 :(得分:3)
是的,没关系。每个DOM成员都可以拥有一个ID。使用ID的<p>
标记没有任何根本性的错误。
现在,对于在class
案例中使用id
属性而不是<p>
的情况,使用CSS可能会更好,因为您可能希望将该样式应用于多个段落。但这只是方便的问题。
答案 2 :(得分:1)
使用id
来引用特定元素。使用class
来引用特定类型的所有元素。
我认为[你应该在段落标签上使用id]如果你知道你只在页面上使用过那种段落。
您不应该仅仅因为您的页面上只有其中一个而使用id
。当您希望确保仅影响该特定元素时,您应该使用id
,无论是现在还是将来,当其他人添加更多段落时。如果你有段落的特定“种类”,使用class
来表示这一点并没有错,即使该类目前只有一个成员。
答案 3 :(得分:1)
从语义的角度来看,我会说如果id有助于在结构上分割文档,那么使用id会很有意义。例如,您可能有:
<p id="beginParagraph" ...> </p> and <p id="endParagraph" ...> </p>
有助于轻松识别和定位您的开头和结尾段落。请记住,您不应该有重复的ID,如果您有许多段落并希望为每个段落添加ID,则上面的示例很容易失控。
查看关于ID上的类的文章,了解为什么一个人可能比另一个更好的原因:
答案 4 :(得分:1)
我发现在使用Protractor运行e2e测试时,使用诸如selenium之类的工具运行自动化测试或在使用AngularJS的当前项目中使用HTML元素的ID,特别是段落标记非常有用。使用元素ID比使用类选择器要容易得多。