jQuery: Che cosa viene restituito se $ ( '# id') non corrisponde a nulla?
-
05-09-2019 - |
Domanda
Quello che viene restituito se $ ( '# id') non corrisponde a nulla? Ho pensato che sarebbe stato nullo o falso o qualcosa di simile quindi ho provato a controllare in questo modo:
var item = $('#item');
if (!item){
...
}
Ma non ha funzionato.
Soluzione
Si possono trovare quanti elementi sono stati abbinati con:
$('selector').length
Per verificare se non elementi sono stati abbinati, uso:
var item = $('#item');
if (item.length == 0) {
// ...
}
Altri suggerimenti
Mentre $('selector').length
è grande per scoprire quanti oggetti le partite di selezione, la sua realtà completamente unnecesary. La cosa di jQuery è che tutte le funzioni di selezione basato usano lunghezza internamente, quindi si può solo fare $(selector).hide()
(o altro) e prende nessuna azione per un insieme vuoto.
Un oggetto jQuery che non contiene nodi DOM.
Si dovrebbe essere in grado di utilizzare
var item = $('#item');
if (!item[0]){
...
}
per il controllo dell'esistenza.
Un alias dell'attributo lunghezza è il metodo size (). Così che, fondamentalmente, potrebbe anche interrogare:
$ ( "selettore"). Size ()
per vedere quanti elementi sono abbinati.