我使用的是 jQuery 1.7.1
我尝试编写此代码是为了提高可读性和性能。在下面两种情况下,哪一种表现更好,为什么?
// BLOCK ONE
var DivHeight = 0;
$(".PC_SeriesDiv").each(function() {
var ThisDivHeight = $(this).height();
if (ThisDivHeight > DivHeight) {
DivHeight = ThisDivHeight;
}
});
DivHeight = DivHeight + "px";
$(".PC_SeriesDiv").animate({height: DivHeight}, 250);
// BLOCK TWO
var DivHeight = 0;
var PC_SeriesDiv = $(".PC_SeriesDiv");
PC_SeriesDiv.each(function() {
var ThisDivHeight = $(this).height();
if (ThisDivHeight > DivHeight) {
DivHeight = ThisDivHeight;
}
});
DivHeight = DivHeight + "px";
PC_SeriesDiv.animate({height: DivHeight}, 250);
我的问题实际上归结为这样做是否有任何好处:
var PC_SeriesDiv = $(".PC_SeriesDiv");
如有建议,我们将不胜感激。谢谢!
最佳答案
是的,保留对 jQuery 集合的引用可以提高性能。 Reference.
习惯上为保存的 jQuery 集合添加 $
前缀。 ,所以你可以这样做:
var $PC_SeriesDiv = $(".PC_SeriesDiv");
此外,如果 HTML 中的所有元素的类为 PC_SeriesDiv
是相同类型(即 <div>
),将选择器设置为 $("div.PC_SeriesDiv");
会更有效
关于jquery - 以这种或另一种方式编码是否有性能优势?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9284362/