(Karena aku tampaknya tidak memiliki reputasi yang cukup untuk memberikan jawaban ...)
Wolf menulis:
Properti panjang panggilan pada objek tidak terdefinisi atau null akan menyebabkan browser IE dan webkit gagal!
Alih-alih coba ini:
// NOTE!! THE FOLLOWING IS WRONG; DO NOT USE! -- EleotleCram
if($("#something") !== null){
// do something
}
atau
// NOTE!! THE FOLLOWING IS WRONG; DO NOT USE! -- EleotleCram
if($("#something") === null){
// don't do something
}
Meskipun benar bahwa memanggil properti panjang pada objek yang tidak terdefinisi atau null akan menyebabkan browser gagal, hasil dari pemilih jQuery ($ ('...')) tidak akan pernah menjadi nol atau tidak terdefinisi. Jadi saran kode tidak masuk akal. Gunakan salah satu dari jawaban lain, itu lebih masuk akal.
(Pembaruan 2012) Karena orang-orang melihat kode dan jawaban ini cukup tinggi dalam daftar: Untuk beberapa tahun terakhir, saya telah menggunakan plugin kecil ini:
jQuery.fn['any'] = function() {
return (this.length > 0);
};
Saya pikir $ ('div'). Any () membaca lebih baik dari $ ('div'). Panjang , ditambah Anda tidak akan menderita banyak dari kesalahan ketik: $ ('div'). Ayn () akan memberikan kesalahan runtime , $ ('div'). Panjang akan diam-diam kemungkinan besar selalu palsu.
__
Pengeditan November 2012:
1) Karena orang cenderung melihat kode dan tidak membaca apa yang dikatakan di sekitar kode, saya menambahkan dua catatan lektor peringatan besar ke kode Wolf yang dikutip.
2) Saya menambahkan kode plugin kecil yang saya gunakan untuk situasi ini.