Kā pārbaudīt elementa esamību jQuery?
Pašreizējais kods, kas man ir, ir šāds:
if ($(selector).length > 0) {
// Do something
}
Vai ir kāds elegantāks veids, kā to izdarīt? Varbūt kāds spraudnis vai funkcija?
Jā!
jQuery.fn.exists = function(){ return this.length > 0; }
if ($(selector).exists()) {
// Do something
}
Tas ir atbilde uz: Herding Code podkāsts ar Džefu Atvudu
Ja izmantojat
jQuery.fn.exists = function(){return ($(this).length > 0);}
if ($(selector).exists()) { }
jūs liktu domāt, ka ķēde ir iespējama, lai gan tā nav.
Tas būtu labāk:
jQuery.exists = function(selector) {return ($(selector).length > 0);}
if ($.exists(selector)) { }
Alternatīvi, no bieži uzdotajiem jautājumiem:
if ( $('#myDiv').length ) { /* Do something */ }
Varat izmantot arī šādu. Ja jQuery objektu masīvā nav vērtību, tad, iegūstot pirmo elementu masīvā, tiktu atgriezta nenoteikta vērtība.
if ( $('#myDiv')[0] ) { /* Do something */ }