关于如何存储实际的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/

10-09 14:31