【问题标题】:HTML Classes WITH IDs带有 ID 的 HTML 类
【发布时间】:2010-10-23 11:02:30
【问题描述】:

我对 HTML 类和 ID 有点困惑,因为我想同时使用它们来描述 HTML 元素。这对大多数浏览器有效且支持吗?

我使用两者的动机是这样的:

  1. 我有一个 CSS 样式,我想将其应用于多个元素。
  2. 我有一些 AJAX 和 Javascript 可以操作这些相同的元素,因此我需要一种方法来使用 ID 来识别哪个元素。
  3. 所以我想使用一个 id 来识别每个用于 JS 操作的元素,同时我想指定一个类,以便从相同的 css 应用相同的样式。

【问题讨论】:

  • @John Topley:应该是“ids”:它是“identifier”的缩写,它不是首字母缩写词或首字母缩写词。

标签: javascript html css ajax


【解决方案1】:

ID 仅对一个项目是唯一的,其中一个类可用于将许多项目组合在一起。您可以按照您的说明将它们一起使用,ID 作为 Javascript 的唯一标识符和使用 CSS 标记的类。

搜索html class vs id 以获取有关此主题的许多文章。

例子:

<ul>
    <li class="odd" id="item1">First Item in the List</li>
    <li class="even" id="item2">Second Item in the List</li>
    <li class="odd" id="item3">Third Item in the List</li>
</ul>

【讨论】:

    【解决方案2】:

    是的,任何普通浏览器都应该允许设置 CSS 类,而不考虑元素 ID。但是,在特定元素上设置样式(例如使用 id)可能会覆盖通过 CSS 类设置的样式。

    【讨论】:

      【解决方案3】:

      是的,它在所有浏览器中都有效。 ID 仅通过其他方式表达您的 html 控件的唯一标识,并且类对其应用了一些样式。当每页仅出现一次时使用 ID。当每页出现一次或多次时使用类。

      【讨论】:

      • 因为你的答案是错误的。如下所述,ID 用于唯一元素。类用于多个元素。两者都用于样式。
      • 哦,加油!问题是:大多数浏览器是否有效并支持?这只是答案!反正
      • 你的答案不仅不正确,甚至作为一个句子也没有意义。 class 和 id 都用于标识 HTML 的各个部分。 “通过他人识别你的html控件”是什么意思?
      • 答案是正确的,句子也是。安布罗斯去参加一些英语语法课程。
      • 类与风格没有什么特别的关系。答案还暗示它们是或应该是相互排斥的。
      【解决方案4】:

      是的,在一个元素中同时使用 ID 和 Class 属性是完全有效的。示例:

      <div class="infoBox" id="myUniqueStyle"> *content* </div>
      

      不过,请记住,一个 ID 只能使用一次(因此得名),而您可以在整个文档中多次使用类。您仍然可以同时使用 ID 和类来应用样式,而只有 ID 是通过 javascript 访问元素的简单方法。

      这样做的一个好方法是将 ID 应用于您知道是唯一的所有元素(标题、导航、主容器等),并将类应用于其他所有元素。

      “Is the”适用于使用 ID 的元素:“This is the 导航栏”、“this is the header”

      “Is a”或“is an”适用于使用类的元素:“This is a blogPost”、“this 是一个信息框”等。

      【讨论】:

      • 奇怪的是,每个人都没有使用过这个词:选择器。
      • 那是因为 HTML 中没有选择器。我们在这里讨论的不是样式表设置,而是标记:)
      【解决方案5】:

      如果需要,您绝对可以同时使用。

      ID 通常用于标识您网站的结构部分 - 您应该只有 一个 具有特定 ID 的元素,并且任何元素只能有一个 ID。

      一个类用于设置可能在 HTML 文件中多个位置使用的样式 - 任何元素都可以设置多个类。

      同时使用 ID 和类的典型 HTML 文档可能类似于

      <html>
      ...
      <body>
      <div id="header"></div>
      <ul id="nav" class="full-width dark">...</ul>
      <div id="content">
      <div id="important-container" class="class-set-by-javascript another-class-set-by-javascript"></div>
      </div>
      </body>
      </html>
      

      【讨论】:

        【解决方案6】:

        只是一个关于在你的 CSS 声明中结合 class 和 id 的非常模糊的注释,如果你有 IE6 有一个错误:

        • 两个或多个页面具有 具有相同id的元素

        • 这些元素有不同的 classes

        • 您正在使用 #idname.classname规则

        那么只有样式表中的第一条规则才会生效。

        详情请见this page

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2011-12-19
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多