是否有关于如何存储实际JQuery选择器的最佳实践? 不是他们返回的,而是选择器字符串本身。 我们项目中有很多选择器,我想为它们设置一个位置或对象,以便我可以根据需要快速编辑它们。
这样的事情:
LazySelectors = {
candidate_photo : function() {
return "#super-duper-selector";
}
};
然后在很多地方或不同的脚本中引用它,如:
$(LazySelectors.candidate_photo()).magic();
我已经在JSpref上对此进行了测试,它的速度要快一些。 任何最佳实践或建议?
答案 0 :(得分:3)
我通常这样做:
jQuery(function(){
LazySelectors = {
lazyFormSelector:"#lazyForm",
createButtonSelector:"#lazyCreateButton",
idSomeLevel:-1,
}
jQuery.extend(SomeOtherObject.LazyObject,LazySelectors);
})
并将整个LazySelectors对象保存在不同的.js文件中。
您可以像$(SomeOtherObject.LazyObject.lazyFormSelector)
另一件事:据我所知(我可能在这里错了),从性能的角度来看,最好缓存“包装”的DOM元素,否则你将会是每次执行$(SomeOtherObject.LazyObject.lazyFormSelector)
答案 1 :(得分:0)
我认为最好的方法( Better Performance ),只需直接使用字符串,不需要函数。
#references.js
var refCandidate_photo = $("#super-duper-selector");