【问题标题】:Is it poor practice to use a class with both jquery and css?使用带有 jquery 和 css 的类是不好的做法吗?
【发布时间】:2013-06-20 11:27:15
【问题描述】:

这个问题与这个问题有点相反:Is it poor form to use CLASS attributes with no corresponding CSS rule?

我的代码中有几个地方列出了我想使用 jQuery 处理的内容:

<div class="myitem" id="item1">...</div>
<div class="myitem" id="item2">...</div>
<div class="myitem" id="item3">...</div>
<div class="myitem" id="item4">...</div>

我用一些javascript代码处理这些,例如:

$(".myitem").click(function() { ... });

这些项目也有一个 css 样式,例如:

.myitem { border: 2px solid green; }

这是一个大项目,有专门的人员来处理用户体验(包括破解 css 和 html)以及更专注于 javascript 和其他代码的程序员。

我是否应该将其更改为对 jquery 内容使用单独的类,这样我们就不会意外地重命名或删除 css 类,以为我们只是在使用图形外观?为javascript引入一个新类会带来更多问题吗?我们可以使用一些代码标准技巧来帮助我们处理这个 html 吗?

【问题讨论】:

  • 尽量不要采用常见的方法,而是要解决您的问题。如果有可能更改类的选项,则引入一个新类仅用于 jquery 操作。您甚至可以为这些类添加一个特殊的前缀,例如 .js-item,以便将来能够轻松区分它们。

标签: jquery css class


【解决方案1】:

我个人喜欢将样式与功能分开以获得更好的可重用性。

您可以将 .myItem 用于 CSS,并添加一个类似 .formProcess 的类或任何它碰巧在您的 JS 中使用的类。

这样,如果 UX 人员删除或更改了他们的类,您的功能仍然可以工作......如果存在类似的需求,它们可以在其他地方重用。

【讨论】:

    【解决方案2】:

    我喜欢使用SMACCS 方法,该类用于表示一个模块,该模块应该是一组自包含的html 元素。然后使用该类将模块标识为 css 和 javascript。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-02-12
      • 2010-12-22
      • 2012-08-31
      • 2011-05-04
      • 2011-08-20
      • 1970-01-01
      • 1970-01-01
      • 2012-04-04
      相关资源
      最近更新 更多