2015-08-29 13 views
8

$('.className > button') 

ve

$('.className').children('button') 

Veya aynı şeyi almak için bu sadece alternatif sözdizimleri arasında herhangi bir fark var mı?

+0

birincisi css yu kullanır ve ikincisi jQuery işlevini kullanır ... o zaman bile eğer olsa, sen diyelim ki, elemanların, bir mousemove işleyicisi bir sürü yapıyoruz sürece Maddeye düşüktür. – RRK

+2

Bu çok açık ... – BoltClock

cevap

10

Aslında neyle sonuçlanacak olursanız olun, ancak ilk olarak tarayıcının dahili CSS seçim motoruna bütünüyle yüklenebilirken, ikincisi jQuery'nin daha fazla iş yapmasını ve daha fazlasını içermesini gerektirir. nesne oluşturma ve temizleme.

+0

jquery tarayıcıları CSS motorundan gerçekten yararlanıyor mu? tarayıcı 'querySelectorAll' sağlar ve' gibi bir jQuery özgü seçici kullanmıyorsanız: eq' veya ': disabled', evet, jQuery kullanan Hep CSS seçicileri bir JS kütüphanesi ile –

+1

@fschmengler işlendiğinden düşünce dahili motor, kendi başına değil, çünkü * bu şekilde * daha hızlı * daha hızlı. jQuery, tarayıcının "querySelectorAll" (muhtemel, hatta IE8'e sahip) içermediği veya jQuery'ye özgü bir seçici kullanması gerektiğinden, yalnızca sizzle 'ye geri döner. –

+0

Sizzle, buydu. Bilgimin sadece modası geçmiş olduğunu umdum, güncellemeye teşekkürler! –