[英]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.