使用jQuery在对象中缓存选择器的一种简单方法
让我们看一个例子。
jQuery(文档)Ready(函数()){
jQuery(#一些选择器),('hover,函数(){(){
jQuery(this)。FadeOut(慢的),Delay(400)FadeIn();
console.log(jQuery(this)。文本());
});
jQuery(#另一元素),('hover,函数(){(){
jQuery(这)SlideUp();
});
jQuery(#一些选择器),(听到咔哒声,函数(){(){
提醒(你点击了一个有特色的元素);
});
jQuery(#另一元素),('mouseout,函数(){(){
jQuery(这)SlideUp();
});
});
也许您已经注意到,在上述代码片段中,ID一些选择器和另一个元素被提到了两次,通过将这些选择器保存为变量,它们可以被重用,避免重复选择操作。
当您开始在jQuery代码中存储各种选择器时,您将能够看到在对象中缓存选择器是多么漂亮——以键值对的形式,这使得您更容易在脚本中的任何地方访问它们,并且很容易维护这些选择器。
在缓存选择器之后,改进后的代码将如下所示。
无功somenamespace_dom = { {
someselector:'jquery(#一些选择器),
anotherelement:'jquery(#一元),
};
jQuery(文档)Ready(函数()){
somenamespace_dom.someselector.on('hover,函数(){(){
jQuery(this)。FadeOut(慢的),Delay(400)FadeIn();
console.log(jQuery(this)。文本());
});
somenamespace_dom.anotherelement.on('hover,函数(){(){
jQuery(这)SlideUp();
});
somenamespace_dom.someselector.on(听到咔哒声,函数(){(){
提醒(你点击了一个有特色的元素);
});
somenamespace_dom.anotherelement.on('mouseout,函数(){(){
jQuery(这)SlideUp();
});
});
既然选择已经缓存到一个变量,DOM树不再需要重复在整个历史中寻找被操纵的元素。'somenamespace_dom对象可用于添加更多的键-值对,使维护工作容易。