jQuery premier sélecteur de type?

Comment sélectionnerais-je le premier élément

dans le

avec jQuery?

  

En supposant que vous ayez déjà une référence à la div :

 $(yourDiv).find("p").eq(0); 

Si le premier p sera toujours un enfant direct de la div , vous pouvez utiliser des children au lieu de find .

Certaines alternatives incluent:

 $(yourDiv).find("p:eq(0)"); //Slower than the `.eq` method $(yourDiv).find("p:first"); $(yourDiv).find("p").first() //Just an alias for `.eq(0)` 

Notez que la méthode eq sera toujours le moyen le plus rapide de le faire. Voici les résultats d’une comparaison rapide de la méthode eq :eq sélecteur :eq et :first sélecteur (je ne me suis pas soucié de la first méthode car il ne s’agit que d’un alias de eq(0) ):

entrez la description de l'image ici

 $('div p:first') 

La réponse était trop courte pour être publiée sans cette phrase inutile.

Modifier Ceci est certainement une option lente. Après avoir examiné le test de vitesse de Jame, il semble que les sélecteurs jQuery fonctionnent mieux quand ils se superposent aux sélecteurs css.

$ (“div p”). first ();

ou $ (‘div p: premier’);

Référence: http://api.jquery.com/first/

Gardez à l’esprit que first () ne correspond qu’à un seul élément, le sélecteur: first-child peut correspondre à plus d’un: un pour chaque parent.

Vous connaissez presque la réponse (d’après le titre de votre message). Il y a un sélecteur dans jQuery appelé :first-of-type . Utilisez-le pour rechercher et append automatiquement une classe à la première balise p, comme ceci:

 $("div p:first-of-type").addClass('someClass'); 
 $('div p').first() 

Devrait marcher. Je pense.

Cela devrait marcher

 $( "div p:first-of-type" ).css( "font-size: 10px" ); 

Le code ci-dessus trouve le premier paragraphe de la div comme @Denver pointé et a changé sa fonts-size de fonts-size en 10px

Voici un exemple qui en explique encore plus sur le sélecteur du premier type de jQuery