2012-06-28 18 views
5

私の人生にとってはこれを動作させることはできません。私はjsを実行しており、 'container state ..'はページ上の実行中のjsからのコンソールログです。セレクタを表示していますが、コンソール内で何か操作をしたい場合はnullを返します。私はjQueryセレクタはコンソールでは機能しません

Container state 3 jQuery(div.module-carousel) 
>>> $('body') 
null 
+0

jQueryがロードされていますか?どこでも 'jQuery.noConflict()'を呼び出していますか? –

+2

'jQuery( 'body')'を試して、違いがあるかどうかを確認してください。 –

+0

アーガーシュガー:p誰かがjqueryへの参照を変更しました! yawn –

答えて

6

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

は、FirefoxとChromeの両方が省略形として$を定義する。これは、私はセレクタを呼び出していますどのように私はjQueryの

>>> $ 
function() 

と呼ばれるかのように、私はオーバー、どこかjQueryの機能を書いて何とかと仮定していますコンソールのdocument.getElementByIdの場合この省略形は、ページが$と定義されているときに自動的にオーバーライドされます。

したがって、jQuery(たとえばthrough a bookmarklet)をロードし、jQueryセレクタを使用できます。

jQuery固有のセレクタが必要ない場合は、$$を使用することもできます。これは、CSS3セレクタをサポートするdocument.querySelectorAllの省略形です。

2

あなた$が過負荷(ただしjQuery)、そして、あなたのコンソールで仕事をしたい、ちょうど次の手順を実行している場合:

$ = jQuery; 

これと同じくらい簡単です。

より完全な解決策(実際の開発だけでなく、コンソール)を使用するには、@Joseph the Dreamerのソリューションを使用してください。

+0

ページにjQueryがすでに別のvar名で存在する場合は、 'jqry'と答えてください。どのように私はコンソールでこの 'jqry' var名を見つけることができます.htmlソースを経由せずに。例えば私は 'jQuery(私の名前を表示する)'と入力して、 'jqry'をクロムコンソールに表示します。何か案は? – ihightower

4

コンソールにコマンドを書き込む前にこれを使用できます。

$ = jQuery.noConflict(); 
関連する問題