关于如何存储实际的JQuery选择器,是否有最佳实践?
不是它们返回什么,而是选择器字符串本身。
我们的项目中有很多选择器,我想为它们提供一个位置或一个对象,以便在需要时可以快速对其进行编辑。
像这样:
LazySelectors = {
candidate_photo : function() {
return "#super-duper-selector";
}
};
然后在许多地方或不同的脚本中引用它,例如:
$(LazySelectors.candidate_photo()).magic();
我已经在JSpref上对其进行了测试,并且速度更快。
有什么最佳做法或建议吗?
最佳答案
我通常这样做:
jQuery(function(){
LazySelectors = {
lazyFormSelector:"#lazyForm",
createButtonSelector:"#lazyCreateButton",
idSomeLevel:-1,
}
jQuery.extend(SomeOtherObject.LazyObject,LazySelectors);
})
并将整个LazySelectors对象保留在另一个.js文件中。
您可以像这样使用它:
$(SomeOtherObject.LazyObject.lazyFormSelector)
另一件事:就性能而言,据我所知(在这里我可能是错的),最好缓存“包装”的DOM元素,否则每次执行
$(SomeOtherObject.LazyObject.lazyFormSelector)
时都将遍历DOM。关于javascript - 存储JQuery选择器,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16274297/