Existe-t-il un moyen plus court d'écrire ceci? Dans la mesure où je peux dire, il n'y a aucun moyen de rechercher tous les descendants, y compris lui-même, sans le faire?Raccourci pour filtrer tous les éléments, y compris le self?
S'il n'y a pas de fonction pour cela, j'en écrirai une, mais je ne veux pas réinventer la roue si elle existe déjà.
Ici, il est (révisé):
(function($,undefined) {
$.fn.all = function(selector) {
if(selector===undefined) return this.find('*').andSelf();
return this.find(selector).add(this.filter(selector));
}
})(jQuery);
Non, cette roue n'existe pas actuellement (il n'existe pas de méthode "anti" -closure() 'qui parcourt la hiérarchie des éléments). Vous pouvez aller de l'avant et l'inventer. Cependant, gardez à l'esprit que 'andSelf()' * does * existe et que son invocation ne prend que 9 caractères. –
@Frederic: Ce n'est pas seulement 9 caractères, car j'ai aussi besoin de ce stupide '.find ('*')', ce qui est probablement inefficace parce qu'il récupère tous les éléments, plutôt que ceux que je veux. – mpen