jQuery: ¿Qué se devuelve si $ ( '# id') no coincide con nada?
-
05-09-2019 - |
Pregunta
Lo que se devuelve si $ ( '# id') no coincide con nada? Pensé que sería nulo o falsa o algo similar, así que traté de comprobar de esta manera:
var item = $('#item');
if (!item){
...
}
Pero eso no funcionó.
Solución
Puede encontrar cuántos elementos fueron agrupados utilizando:
$('selector').length
Para comprobar si no hay elementos fueron emparejados, el uso:
var item = $('#item');
if (item.length == 0) {
// ...
}
Otros consejos
Mientras $('selector').length
es ideal para encontrar cuántos objetos sus partidos selectores, su realidad completamente innecesario. Lo que pasa con jQuery es que todas las funciones basadas selector de longitud usan internamente, por lo que sólo podía hacer $(selector).hide()
(o lo que sea) y se necesita ninguna acción para un conjunto vacío.
Un objeto jQuery que no contiene nodos DOM.
Usted debe ser capaz de utilizar
var item = $('#item');
if (!item[0]){
...
}
para su verificación existencia.
Un alias del atributo de longitud es el método size (). Así que, básicamente, también se puede consultar:
$ ( "selector"). Size ()
para ver cuántos elementos están apareadas.