【问题标题】:Best Practice: Select by id or class with jQuery?最佳实践:使用 jQuery 按 id 或类选择?
【发布时间】:2011-03-28 15:06:11
【问题描述】:

假设 DOM 中的每个元素都有自己唯一的类名:

  1. 在使用 jQuery 选择 DOM 中的元素时,使用 ID 与类名是否更好?

  2. 在 jQuery 中使用其中一个是否有任何性能优势?

有人告诉我,传统上通过 ID 而不是通过类获取 DOM 元素要快得多,通常也是更好的做法,但这是否也适用于 jQuery?

非常感谢!

【问题讨论】:

  • 如果没有两个对象共享一个类,你是否正确使用了类?
  • 我同意 sarnold,拥有唯一的类名是毫无意义的。
  • 我也将这些类用于 CSS 目的;不仅仅是为了选择。
  • 在 css 中,您可以将 id 用作类(#id{} 而不是 .class{})
  • @x2,我正在努力遵守最佳实践惯例。在我的 CSS 代码中使用 #id 是否比在我的元素上同时使用 ID 和类名更好?

标签: dom jquery-selectors


【解决方案1】:

jQuery 只是利用浏览器功能。在较旧的浏览器(IEgetElementsByClassName 功能,但几乎所有浏览器都支持getElementById。在这些浏览器上,jQuery 必须遍历整个树并查找具有给定类名的所有元素。因此,使用 ID 会更快。

但是,请记住 id 必须是唯一的,即不能有两个具有相同 ID 的元素。这通常是不可取的,因为组件可能在同一页面上的不同上下文中使用。仅使用 ID 可以防止这种情况发生。

【讨论】:

    【解决方案2】:

    在 jquery 中按 ID 选择仍然比按类名快。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-02-23
      • 2012-10-12
      • 2010-11-28
      • 2011-08-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多