簡體   English   中英

存儲JQuery選擇器

[英]Store JQuery selectors

關於如何存儲實際的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。 $(SomeOtherObject.LazyObject.lazyFormSelector)

我認為做到這一點的最佳方法( 更好的性能 ),只需直接使用字符串,而無需使用函數。

#references.js
var refCandidate_photo = $("#super-duper-selector");

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM