2012-08-22 42 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

相關問題