2012-06-28 17 views
5

non posso per la vita di me lavorare questo fuori. Ho js in esecuzione e 'container state ..' è un log della console dal js in esecuzione sulla pagina. Sta visualizzando un selettore, ma se voglio fare qualcosa all'interno della console, restituisce semplicemente null. Sto assumendo qualche modo sto scrivendo sopra la funzione jQuery da qualche parte, come se ho chiamato jQueryjQuery selettori non funzionano in console

>>> $ 
function() 

Questo è come io chiamo un selettore

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

Sei sicuro che jQuery è stato caricato? Stai chiamando 'jQuery.noConflict()' ovunque? –

+2

Prova 'jQuery ('body')' e vedi se questo fa la differenza. –

+0

arghh suger: p così qualcuno ha cambiato il riferimento a jquery! sbadiglio –

risposta

6

jQuery utilizza 2 spazi dei nomi, jQuery e $. Un'altra libreria potrebbe aver utilizzato lo $. Provate ad usare jQuery invece di $ (supponendo che non viene sostituito come bene):

jQuery('body'); 

o avvolgere jQuery in funzione immediata e utilizzare $ in esso in modo non è necessario sostituire $ nel codice esistente :

(function($){ 
    //"$" in here is jQuery 
    //code that uses $ as jQuery will work in here 
}(jQuery)); //pass in jQuery and execute 
1

Sia Firefox e Chrome definiscono $ come una scorciatoia per document.getElementById nella console. Questa stenografia verrà automaticamente ignorata quando la pagina definisce $.

Quindi, carico jQuery (through a bookmarklet per esempio) ed è possibile utilizzare selettori jQuery.

Se non sono necessari selettori specifici di jQuery, è inoltre possibile utilizzare $$, che è una scorciatoia per document.querySelectorAll, che supporta i selettori CSS (3).

2

Se il $ è sovraccarico (ma non jQuery), e si desidera lavorare nella vostra console, basta fare il seguente:

$ = jQuery; 

Semplice.

Per una soluzione più completa (sviluppo reale, non solo console), utilizzare la soluzione @Joseph the Dreamer s'.

+0

se una pagina ha già jQuery con un nome var diverso .. dì 'jqry'. Come posso trovare questo nome var 'jqry' in console .. senza passare attraverso il sorgente HTML. per esempio. Voglio scrivere 'jQuery (mostrami il nome var)' dovrebbe stampare 'jqry' nella console di Chrome. qualche idea? – ihightower

4

è possibile utilizzare questo prima di scrivere qualsiasi comando su console.

$ = jQuery.noConflict();