我想知道下面的示例中是否会在页面加载时缓存选择器“$ cacheA”吗?
// MY JQUERY FUNCTION/PLUGIN
(function( $ ){
$.fn.myFunction = function() {
var $cacheA = this,
$cacheB = $cacheA.children(),
$cacheC = $cacheB.eq(0);
$cacheD = $cacheA.parent();
$cacheD.click(function(){
$cacheA.toggle();
$cacheB.fadeIn();
$cacheC.slideUp();
});
};
})( jQuery );
// END JQUERY FUNCTION/PLUGIN
$(window).load(function(){
$('#mySelector').myFunction();
});
是否有任何理由这样做:
$(window).load(function(){
var $mySelector = $('#mySelector');
$mySelector.myFunction();
});
答案 0 :(得分:2)
如果在“load”处理程序中,你要使用“$ mySelector”执行许多jQuery操作,那么将其保存在变量中将是一个好主意。但是,在您的示例中,您只使用一次值,因此它实际上没有任何区别。
答案 1 :(得分:0)
Firstable,$ cacheA和其他内部点击功能将是未定义的。
$cacheD.click(function(){
$cacheA.toggle();
$cacheB.fadeIn();
$cacheC.slideUp();
});
其次,
$.fn.myFunction = function() {
var $cacheA = this,
$cacheB = $cacheA.children(),
$cacheC = $cacheB.eq(0);
$cacheD = $cacheA.parent();
}
那么,在$('selector').myFunction()
之后如何使用$ cacheB,$ cacheC和$ cacheD?它们将存放在哪里?