La différence majeure serait que $(".searched", context);
peut également prendre une variable comme contexte. Il fait effectivement $(context).find('.searched');
sous le capot, et je pense que la deuxième version est plus lisible de toute façon, donc je l'utilise habituellement.
L'utilisation de cette situation serait quelque chose comme ceci:
$.fn.highlightSearch = function() {
return this.each(function() {
$('.searched', this).addClass('highlighted');
// the commented line performs the same thing:
// $(this).find('.searched').addClass('highlighted');
});
};
$('#context').highlightSearch();
$('.somethingElse').highlightSearch();
Notez que dans ce cas, vous ne pouvez pas ajouter simplement le nouveau sélecteur sur la fin de l'original.
Si vous n'avez aucune autre raison de conserver une copie de $('#context')
, l'utilisation de $('#context .searched')
sera plus rapide et plus simple. Toutefois, si vous avez déjà enregistré $('#context')
dans une variable, il est préférable d'utiliser .find(select)
ou le formulaire $(selector, context)
pour rechercher vos éléments contenus.
Cela résout ma question totalement. Je n'utiliserai le contexte que si je dois le stocker à d'autres fins. Je trouve plus naturel le $ ('# context'). Find ('. Searching') aussi, donc peut-être, je n'utiliserai plus la syntaxe de contexte. – Cibernox