Ben senin yöntem yürütme zaman açısından verimli olduğunu düşünüyorum, ama ne muhtemelen sorduğun sözdizimsel şekerdir. Sonra
jQuery.fn.findAndSelf = function(selector) {
return this.find(selector).add(this.filter(selector))
}
bu gibi kullanmak: Bunun için, bir eklenti haline sarabilirdiniz size 'Bul' için de çalışan bir eklenti oluşturabilir fantezi olsun isterse
$('.whatever').findAndSelf('.awesome')
ancak 'ebeveynler' ve için 'çocuk' ve diğer seçici tabanlı eklentiler:
jQuery.fn.withSelf = function(plugin, selector) {
return this[plugin](selector).add(this.filter(selector))
}
Sonra size eklentisi ilk argüman olarak geçişi temin ederim
aramak istediğiniz:
Sadece eğlence için
$('.whatever').withSelf('find', '.awesome')
$('.whatever').withSelf('parents', '.awesome')
, sen tek seferde kastetmek eklentileri keyfi bir numarayı aramak sağlayan başka eğlenceli eklenti: Sen seçici tabanlı eklentileri herhangi bir kombinasyonu ile bunu uygulayarak herhangi
jQuery.fn.traverse = function(plugins, selector) {
var set = new jQuery();
$.each(plugins, function(i, val) {
set.add(this[val](selector));
}
return set
}
, şöyle :
$('.whatever').traverse(['find','filter'], '.awesome')
$('.whatever').traverse(['parents','find'], '.awesome')
$('.whatever').traverse(['parents', 'filter'], '.awesome')
almaz mı? .find ('*') 'veya' .contents() 'gibi: http://stackoverflow.com/questions/364791/jquery-select-descendants-including-the-parent – Joe
Muhtemelen not etmek iyi bir fikir ve şimdi artık kullanımdan kaldırılmış ve bir seçiciyi de kabul eden addBack() ile değiştirilmiştir. http://api.jquery.com/addBack/ –