【发布时间】:2012-04-28 21:07:19
【问题描述】:
我的问题与触发 DOM 解析有关,我想知道为什么使用 CSS ID 选择器比使用类选择器更快。什么时候必须再次解析 DOM 树,我应该使用什么技巧和性能增强......另外,有人告诉我,如果我做类似的事情
var $p = $("p");
$p.css("color", "blue");
$p.text("Text changed!");
而不是
$("p").css("color", "blue");
$("p").text("Text changed!");
提高了性能,这对所有浏览器都适用吗?另外,我如何知道我的 DOM 树是否已被重新解析?
【问题讨论】:
-
仅CSS选择器解析性能就足够微观了。将 jQuery 解释不同选择器(CSS 或非 CSS)的不同方式混在一起只会让一切变得不必要地混乱。不值得为这些细微差别而烦恼。
-
artzstudio.com/2009/04/jquery-performance-rules列出了许多jquery性能改进的规则
-
另请注意,您可以使用方法链。所以你也可以通过
$('p').css('').text('').morestuff()来提高性能 -
是的,我对链接的唯一警告是,有时你会迷失在链中,也更难调试,除非有不同的技巧?我想我必须习惯它,这是 jQuery 做很多事情的方式。
标签: javascript jquery dom jquery-selectors