2013-08-17 46 views
0

我是Jquery和JavaScript的新手。将Jquery对象声明为变量?

当我在写一个javascript代码,我发现自己使用特定的jQuery对象的时候,所以我声明的变量它。例如,

$(document).ready(function() { 
    var object_list = $("#object_list"); 

    /*Do something with the variable*/   
    alert(object_list); 
    object_list.hide(); 
}); 

但是,这似乎并不奏效(“alert(object_list)”给了我一个空值)。

正在jquery中声明这样的错误吗?

如果是这样,那么什么是正确的做法,这样可以参考我常用的jQuery对象?? \

谢谢!

+0

这很好http://jsfiddle.net/arunpjohny/YVYWP/1/ –

+5

一个'null'值?你有没有改写'$',比如加载Prototype.js? – Bergi

+0

@Bergi我加入我的声音给你,即使选择器没有太多东西,警告也应该显示一个对象,所以是的,好点,'$()'这里不是'jQuery()'的别名。 –

回答

4

您的jQuery可能在noConflict mode中工作,这意味着您在代码早期的某个地方将别名$ = jQuery分开。 WordPress的例子是这样做的(请参阅最新行wp-includes/js/jquery.js)。

使用此代码来代替:

jQuery(document).ready(function($) { 
    var object_list = $("#object_list"); 

    /*Do something with the variable*/   
    alert(object_list); 
    object_list.hide(); 
}); 

你在做什么是走样.ready方法中的jQuery对象,看到一节走样jQuery的命名空间.ready()方法文档。

1

你可以换你的代码立即函数中避免命名碰撞$。如果您已经有很多使用$的代码,并且重构更改名称可能容易出错,则此技术很有用。

(function($){ 
    $(document).ready(function() { 
    var object_list = $("#object_list"); 

    /*Do something with the variable*/   
     alert(object_list); 
     object_list.hide(); 
    }); 
})(jQuery);