javascript - uncaught - $ Variable en Chrome?
uncaught syntaxerror: invalid or unexpected token (6)
Estaba trabajando con las herramientas de desarrollador de google chrome en una página sin jQuery (o cualquier otra biblioteca que use el signo $
como acceso directo). Cuando inspeccioné $
por la consola (simplemente escribiéndolo y presionando Enter), obtuve esto:
$
function () { [native code] }
Entonces, Chrome tiene alguna función nativa a la que se puede hacer referencia con $
. Solo Chrome parece tener este y no puedo acceder a él a través de la window[''$'']
ni a través del document[''$'']
o this[''$'']
.
No pude averiguar qué es esta función. ¿Sabes lo que hace y tal vez tienes alguna información de fondo sobre esto? ¡Gracias por adelantado!
A juzgar por el $() , ahora usa document.querySelector () en lugar de solo getElementById ().
Es una de las funciones de Chrome Developer Tools (por lo que no está disponible en la página). Puede ver la documentación en la página de la consola (aunque eso solo indica que implementa los comandos de la consola Firebug )
Obtiene un elemento por su id.
Esto ha cambiado una vez más, incluso desde el año pasado.
La consola devtools proporciona $
como alias de document.querySelector
, junto con muchas otras cosas ; aquí hay una lista extraída:
$(selector)
devuelve la referencia al primer elemento DOM con el selector de CSS especificado. Esta función es un alias para la funcióndocument.querySelector()
.$$(selector)
devuelve una matriz de elementos que coinciden con el selector CSS dado. Este comando es equivalente a llamar adocument.querySelectorAll()
.$_
devuelve el valor de la expresión evaluada más recientemente.- Los comandos
$0
,$1
,$2
,$3
y$4
funcionan como referencia histórica de los últimos cinco elementos DOM inspeccionados en el panel Elementos o los últimos cinco objetos Heap JavaScript seleccionados en el panel Perfiles.
... y un montón de otros.
Observe cómo llama a $
un alias de document.querySelector
, pero dice que $$
es "equivalente" a llamar a document.querySelectorAll
. Ninguno de los dos parece ser literalmente verdadero; $ === document.querySelector
es false
, y $$
devuelve una matriz , no una NodeList
.
Hay dos selectores en los inspectores de Webkit, los mismos que Mootools uno: $
y $$
Puede encontrar información sobre esto, developers.google.com/chrome-developer-tools/docs/console
Están aquí para ayudarte a depurar.
Las respuestas existentes están desactualizadas, $
no es un alias para document.getElementById
o document.querySelector
, pero es un contenedor para querySelector
. Este contenedor realmente toma un segundo argumento opcional para el elemento para consultar al hijo de.
Esta familia de funciones está documentada en la consola: Seleccionar elementos :
Seleccionar elementos
Hay algunos atajos para seleccionar elementos. Esto le ahorra un tiempo valioso en comparación con escribir sus contrapartes estándar.
$()
Devuelve el primer elemento que coincide con el selector de CSS especificado. Es un atajo paradocument.querySelector()
.
$$()
Devuelve una matriz de todos los elementos que coinciden con el selector de CSS especificado. Este es un alias paradocument.querySelectorAll()
$x()
Devuelve una matriz de elementos que coinciden con el XPath especificado.
Sin embargo, estos valores son solo los valores predeterminados en la consola. Si la página sobrescribe al incluir algo como jQuery, la consola usará el valor de la página en sí, y algo como $(''p'')
devolverá un objeto jQuery en lugar de solo el primer elemento p
.
developers.google.com/chrome-developer-tools/docs/console
Es solo un acceso rápido a document.getElementById.