2010-02-22 3 views
3

Première ici, donc s'il vous plaît soyez gentil :)Jquery Sélecteur d'options

J'ai cherché sur le net et je ne suis pas sûr que je suis à la recherche par les bons termes ni pour son nom. Mais que font les options secondaires dans un sélecteur jQuery? Par exemple:

$('.results table', this.parent().prev()) 

Le deuxième lot d'options sur le tableau .results correspond je ne sais pas ce que cela fait réellement? Est-ce similaire à $('.results table').parent().prev() par exemple. Désolé, je viens de lever ce code comme exemple.

Appréciez les pointeurs car j'apprends juste jQuery.

Répondre

2

Cela signifie rechercher le sélecteur quelque part "en dessous" des éléments référencés par le second paramètre. Il est comme:

$('secondParameterSelector').find('firstParameterSelector') ... 

Avec votre exemple, il est comme

this.parent().prev().find('.results table') 

(qui est en supposant que this.parent().prev() est un objet jQuery bien sûr)

6

Le second paramètre est un contexte facultatif que vous pouvez fournir Contraindre le sélecteur à rechercher des correspondances uniquement dans le contexte fourni. Par exemple, disons que vous parcourez les éléments <tr> d'un élément <table> et dans chaque élément <tr> que vous voulez sélectionner le deuxième élément <td>. Vous pouvez utiliser les éléments suivants

$('table tr').each(function() { 
    $('td:eq(1)', this).doSomething(); // the function context, this, is the `<tr>` 
             // element in each iteration 
}); 

Le selectors documentation est vraiment très bon et vaut lisant attentivement à travers. En fait, toute la documentation de l'API jQuery est bonne :)

+0

la docs jQuery sont l'une des principales raisons de choisir jQuery sur les autres bibliothèques JS – Erik

0

Le deuxième argument est le contexte. Par exemple, si vous voulez faire écho au texte du premier élément span après avoir cliqué sur une div:

$("div").click(function(){ 
    alert($("span:first", this).text()); 
}); 

Le this dans cet exemple fait référence à laquelle jamais div a été cliquée. C'est notre contexte. Ce "contexte" peut être un objet dom-element, document ou jQuery.

Pour en savoir plus: http://api.jquery.com/jQuery/