Dengan:
if(element.hasClass("class"))
Saya dapat memeriksa satu kelas, tetapi apakah ada cara mudah untuk memeriksa apakah "elemen" memiliki salah satu dari banyak kelas?
Saya menggunakan:
if(element.hasClass("class") || element.hasClass("class") ... )
Yang tidak terlalu buruk, tetapi saya memikirkan sesuatu seperti:
if(element.hasClass("class", "class2")
Yang sayangnya tidak berhasil.
Apakah ada yang seperti itu?
.hasClass()
tetapi solusi Anda tampaknya telah melakukan trik, terima kasih$('element').is('.class1.class2')
berhasil.class1.class2
akan mencocokkan elemen yang memiliki kedua kelas, tetapi mereka mencari elemen yang cocok dengan kedua kelas.bekerja, tapi itu 35% lebih lambat dibandingkan
Jika Anda ragu dengan apa yang saya katakan, Anda dapat memverifikasi di jsperf.com .
Semoga ini bisa membantu seseorang.
sumber
Ini harus dilakukan, sederhana dan mudah.
sumber
filter () adalah opsi lain
sumber
Bagaimana dengan ini?
sumber
inilah jawaban yang tidak mengikuti sintaksis
itu bukan yang tercepat, tetapi tidak ambigu dan solusi yang saya sukai. bangku: http://jsperf.com/hasclasstest/10
sumber
Error: $self is not defined
var $self = $(this);
saja sebelum for-loopBagaimana dengan ini,
Mudah digunakan,
Dan tampaknya lebih cepat, http://jsperf.com/hasclasstest/7
sumber
Bagaimana dengan:
sumber
> 0
. Jika panjangnya bukan nol, itu akan mengembalikan true.jQuery
Vanilla JS
sumber
gunakan fungsi default js match ():
untuk menggunakan variabel di regexp, gunakan ini:
omong-omong, ini adalah cara tercepat: http://jsperf.com/hasclass-vs-is-stackoverflow/22
sumber
Bekerja untuk saya:
sumber
Anda bisa melakukan ini:
sumber
Ini bekerja untuk saya:
sumber
$('.class1.class2')
tanpa perlu menggunakan pemilih atribut untuk kelas kedua. Juga, pertanyaannya adalah bertanya bagaimana memilih elemen dengan salah satu dari apa saja, tidak semua kelas.