【问题标题】:Add class to all elements with a specific ID jQuery将类添加到具有特定 ID jQuery 的所有元素
【发布时间】:2015-11-08 20:26:13
【问题描述】:

是否可以将 .addClass 用于具有特定 ID 的每个项目?我有 2 个画廊容器,都需要添加一个类。他们都有相同的 id #galleri_container。尝试此操作时:$('#galleri_container').addClass('active'); 它只影响该列表中的第 1 个(第一个 #galleri_container)。我需要它来影响 1 号和 2 号。

如何达到想要的效果?

【问题讨论】:

标签: jquery


【解决方案1】:

HTML 中不能有多个具有相同 ID 的元素。改用类。

$(".galleri_container").addClass(".active");

【讨论】:

    【解决方案2】:

    对多个元素使用相同的 id 不是一个好习惯。 javascript 或 jquery 只会影响第一个元素,因为它会从 DOM 树中找到第一个元素。

    请查看此链接:

    https://softwareengineering.stackexchange.com/questions/127178/two-html-elements-with-same-id-attribute-how-bad-is-it-really

    【讨论】:

      【解决方案3】:

      让多个元素共享一个 ID 是错误的。它违反标准并导致意外行为。始终在 HTML 中使用唯一 ID - 并且仅在您真正需要时才使用 ID。为您的元素使用不同的选择器(可能是 CSS 类)。

      【讨论】:

        【解决方案4】:

        根据 html 标准,id 必须是唯一的。如果您希望多个组件具有相同的样式,则应该改用一个类。

        所以不要使用这样的东西:

        <div id="galleri_container">
        <div id="galleri_container">
        

        将id改为class

        <div class="galleri_container">
        <div class="galleri_container">
        

        无论您在哪里使用 #galleri_container,请将其替换为 .galleri_container

        这意味着您现在可以按照自己的意愿使用 jquery 的 .addClass

        【讨论】:

          猜你喜欢
          • 2022-08-23
          • 2023-03-16
          • 2019-03-06
          • 2020-02-20
          • 2018-01-15
          • 2017-07-27
          • 1970-01-01
          • 2015-11-19
          • 1970-01-01
          相关资源
          最近更新 更多