2012-08-22 29 views
1

我的页面引用了jQuery,因为其他代码已经正确运行。但是我需要添加一些新的代码,并决定在编写代码之前直接在Firebug中测试选择器。所以我去控制台并输入我的选择器:

$("h3:contains('Keynote')"); 

现在,这可能是也可能不是一个有效的选择器。在这一点上,我不在乎。当我敲回车,我发现了以下错误:

TypeError: $ is not a function

现在我知道,如果你在代码中的错误这实际上是在网页上运行,它通常是因为jQuery是没有引用或运行(这是我们知道它是)还是因为与另一个图书馆有冲突。但是直接在控制台中运行的代码会受到这种影响吗?如果是这样,我如何解决它以用于测试目的?我是否必须在Firebug中以这种方式跳过测试,并将代码写入我的文件并从那里进行测试?

如果有帮助,当我点击链接到错误信息上,这是我得到:

enter image description here

+2

你试过用'jQuery'替换'$'吗? 'jQuery(“h3:contains('Keynote')”);' – j08691

+0

谢谢!我不知道你可以在Firebug中做到这一点。如果你将它作为答案发布,我会接受,所以你可以得到积分。 – EmmyS

+0

'$'是Firebug API的一个功能。如果在Firebug的控制台中输入'$',它将优先于页面代码中的'$'。 https://getfirebug.com/wiki/index.php/Command_Line_API –

回答

8

您是否尝试过更换$jQuery

jQuery("h3:contains('Keynote')"); 

我的第一个猜测应该是这个应该处理的冲突。

-1

当您使用多个javascript库时,您应该使用不同的别名。 jQuery的已通过使用下面的代码解决了这个:

var myAlias = jQuery.noConflict(); 

,然后你可以使用任何你想要的新别名“myAlias”。

+0

-1:很好的答案,只是不*此*问题:('“所以我去控制台,并输入我的选择器:”'关键是他们需要一个简单的*控制台解决方案*(即使用'jQuery'而不是'$') –

+0

我认为使用一个例子以使人们认为他的最佳解决方案总是一个好习惯。正确的答案,也许我应该更全面.. – batspy

相关问题