В общем, очень хорошая идея хранить ссылки на узлы, которые обычно используются.Это можно сделать в каком-то «файле сценария инициализации» или в каждом «модуле», если у вас есть модули, разделенные файлами.
Например,
var myNamespace = window.myNamespace || { };
$(document).ready(function() {
myNamespace.nodes = {
header: $('#header'),
content: $('#overlay > .content'),
footer: $('#footer')
};
});
где-то еще в вашем кодедолжен только получить доступ к элементам через такой поиск хеша.Позже, если селекторы меняются, вам нужно только заменить / изменить строки селектора в одном месте, а все остальные продолжают работать.
// somefile.js
var myNamespace = window.myNamespace || { },
myNodes = myNamespace.nodes;
$(document).ready(function() {
if( myNodes ) {
myNodes.content.animate({ top: '+=200px' }, 1000);
}
else {
throw new Error('Arrrrrrr the <center> cannot hold! it is too late');
}
});
Эта концепция также обеспечивает лучшую производительность для всего вашего веб-приложения.Запрашивая узлы только один раз, так как это все еще довольно дорогая операция DOM.