Le second argument (".demo"
dans votre exemple) est le contexte, essentiellement votre sélecteur est limité à correspondre seuls les descendants d'un déterminé contexte:
$(expr, context)
Est-ce juste équivalent à utiliser la méthode find
:
$(context).find(expr)
Donnez un coup d'oeil à la documentation du jQuery function:
Sélecteur Contexte
Par défaut, les sélecteurs effectuent leurs recherches dans le DOM à partir de la racine du document. Cependant, un autre contexte peut être donné pour la recherche en utilisant le second paramètre facultatif à la fonction $()
. Pour exemple, si dans une fonction de rappel que nous voulons faire une recherche pour un élément, nous pouvons restreindre cette recherche:
$('div.foo').click(function() {
$('span', this).addClass('bar');
// it will find span elements that are
// descendants of the clicked element (this)
});
Notez également que le sélecteur vous postez "button, input:submit, a"
, est appelé Multiple Selector, et vous pouvez y spécifier n'importe quel nombre de sélecteurs à combiner en un seul résultat, en les séparant simplement par une virgule.
Cool n'a jamais su cela. Quand je voulais limiter comme dire un secteur de classe afin qu'il ne cherche pas toute la page, j'ai juste fait quelque chose comme $ ('# id .class') – chobo2
C'est vraiment en arrière de ce que vous auriez pensé en regardant la source. Je m'attendrais à ce que le premier argument soit la super classe suivie de sous-classes qui la réduisent. Et bien. – light24bulbs
Est-ce plus rapide pour le navigateur si je définis un contexte? – andufo