理论上,以下哪一项在性能和/或内存方面会更好?换句话说,jQuery是否必须多次选择同一个项目,或者知道它过去选择了哪些项目?
我故意没有参数留下动画,这是一个纯粹的理论问题。
$("#someelement").animate();
$("#someelement").animate();
$("#someelement").animate();
$("#someelement").animate();
$("#someelement").animate();
$("#someelement").animate();
$("#someelement").animate();
$("#someelement").animate();
$("#someelement").animate();
$("#someelement").animate();
或
var element = $("#someelement");
element.animate();
element.animate();
element.animate();
element.animate();
element.animate();
element.animate();
element.animate();
element.animate();
element.animate();
element.animate();
答案 0 :(得分:4)
绝对选项2.使用选项1,jQuery必须在每个动画之前找到DOM中的元素。
使用选项2,元素在变量中“缓存”,不需要再次遍历DOM。