我不能为我的生活工作这一个。我有js正在运行,'container state ..'是来自页面上运行的js的控制台日志。它正在显示一个选择器,但如果我想在控制台中做任何事情,它只返回null。我假设某种程度上我在某处编写jQuery函数,好像我调用了jQuery
>>> $
function()
这就是我调用选择器的方式
Container state 3 jQuery(div.module-carousel)
>>> $('body')
null
答案 0 :(得分:7)
jQuery使用2个名称空间,jQuery
和$
。另一个库可以使用$
。尝试使用jQuery
代替$
(假设它也不会被覆盖):
jQuery('body');
或在即时函数中包装jQuery并在其中使用$
,因此您不需要替换现有代码中的$
:
(function($){
//"$" in here is jQuery
//code that uses $ as jQuery will work in here
}(jQuery)); //pass in jQuery and execute
答案 1 :(得分:4)
您可以在控制台上编写任何命令之前使用它。
$ = jQuery.noConflict();
答案 2 :(得分:2)
如果$
超载(但不是jQuery
),并且您想在控制台中工作,请执行以下操作:
$ = jQuery;
就这么简单。
要获得更完整的解决方案(真正的开发,而不仅仅是控制台),请使用@Joseph the Dreamer的解决方案。
答案 3 :(得分:1)
Firefox和Chrome都将$
定义为控制台中document.getElementById
的简写。当页面定义$
时,将自动覆盖此简写。
因此,加载jQuery(例如through a bookmarklet),您可以使用jQuery选择器。
如果您不需要特定于jQuery的选择器,您还可以使用$$
,这是document.querySelectorAll
的简写,它支持CSS(3)选择器。