2012-06-28 11 views
5

No puedo por la vida de mi trabajar esta. Tengo js en ejecución y 'contenedor de estado ...' es un registro de la consola desde el js en ejecución en la página. Está mostrando un selector, pero si quiero hacer algo dentro de la consola, simplemente devuelve nulo. Estoy asumiendo que de alguna manera estoy escribiendo sobre la función jQuery en algún lugar, como si llamara a jQueryLos selectores de jQuery no funcionan en la consola

>>> $ 
function() 

Así es como yo llamo un selector

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

¿Estás seguro de que jQuery está cargado? ¿Estás llamando a 'jQuery.noConflict()' en cualquier lugar? –

+2

Pruebe 'jQuery ('body')' y vea si eso hace la diferencia. –

+0

arghh suger: p ¡así que alguien ha cambiado la referencia a jquery! bostezo –

Respuesta

6

jQuery utiliza 2 espacios de nombres, jQuery y $. Otra biblioteca podría haber usado el $. Trate de usar jQuery en lugar de $ (suponiendo que no se anula también):

jQuery('body'); 

o envuelva jQuery en una función inmediata y utilizar $ en ella, así que no es necesario reemplazar $ en el código existente :

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

Tanto Firefox y Chrome definen $ como una abreviatura para document.getElementById en la consola. Esta taquigrafía será anulada automáticamente cuando la página define $.

Por lo tanto, cargue jQuery (through a bookmarklet por ejemplo) y puede usar los selectores de jQuery.

Si no necesita los selectores específicos de jQuery, también puede usar $$, que es una abreviatura de document.querySelectorAll, que admite selectores de CSS (3).

2

Si su $ está sobrecargado (pero no jQuery), y que desea trabajar en la consola, simplemente hacer lo siguiente:

$ = jQuery; 

Tan simple como eso.

Para una solución más completa (desarrollo real, no solo consola), use la solución @Joseph the Dreamer.

+0

si una página ya tiene jQuery con un nombre var diferente ... diga 'jqry'. ¿Cómo puedo encontrar este nombre var 'jqry' en la consola ... sin pasar por la fuente html? p.ej. Quiero escribir 'jQuery (show me var name)' debería imprimir 'jqry' en la consola de Chrome. ¿algunas ideas? – ihightower

4

puede usar esto antes de escribir cualquier comando en la consola.

$ = jQuery.noConflict(); 
Cuestiones relacionadas