开发技巧:使用标签名更快地选择元素

发布于 作者

jQuery 提供了一个极其通用的 DOM 查询机制。如果你想知道幕后发生了什么,以及是否有更低效和更高效的方式来构建你的查询...答案是肯定的。在许多情况下,你可以通过指定标签名来帮助 jQuery,例如:

$("div.class").show()

$(".class").show()

...更快,区别在于查询引擎可以先按标签名进行缩小范围。它很聪明。

因此,你应该养成指定标签名的习惯。唯一的例外:按 ID 获取。如果你按 ID 获取,不要包含标签名,也不要包含除 ID 选择器之外的任何其他内容。

请注意,这里的第二个示例(仅包含类选择器)是完全有效的,如果你需要查询多个元素类型,请随时进行 - jQuery 仍然会返回正确的结果。

关于“开发技巧:使用标签名更快地选择元素”的 5 个想法

  1. Joe Kohlmann 说:

    如果元素选择器层次结构在 $() 函数查询中更直接地指定,jQuery 的性能也会更快吗?
    例如
    $(‘#content dl dt a’) 与 $(‘#content dt a’)
    谢谢你的建议。

  2. Andre Lewis 说:

    Joe K:在这种情况下,指定的越少,速度越快。
    $(“#foo a”)

    总是比
    $(“#foo div a”)

  3. Chris Domigan 说:

    相关问题,有人知道如果你的样式表结构相似,浏览器是否会更快地实现 CSS?例如 element.class 而不是 .class。

    显然,当涉及到样式表结构时,只使用类名会更容易,这样你就可以一目了然地知道样式的用途!

    Chris