Si j'ai le balisage suivant:
<p class="header hours">
<a href="javascript:void(0)" class="sort" sortcat="hours">
Hours <span class="imgholder" sortcat="hours"> </span>
</a>
</p>
Comment puis-je cibler le <span>
balise dans la balise d'ancrage? Il existe cinq autres <p>
entrées de balises, chacune avec une valeur différente pour sortcat=
$(".sort").click(function(){
var cat = $(this).children("span").attr("sortcat");
//do something with the sortcat
});
$("a span[sortcat]").attr('sortcat')
Cela vous donnera la valeur sortcat
du premier élément. Pour les obtenir tous, procédez comme suit:
$("a span[sortcat]").map(function(){ return $(this).attr('sortcat') })
Voir cette démo de travail: http://jsfiddle.net/BwgDW/
$('.sort span')
Ai-je mal compris?
Il y a plusieurs façons de référencer la balise span, mais toutes se terminent par ".attr ('sortcat');" Je suppose que cela dépend de la spécificité que vous souhaitez être et de la flexibilité dont vous avez besoin s'il y en a quelques-unes. autres balises p avec balises d'ancrage et portées à l'intérieur.
$('p.header a.sort span.imgholder').attr('sortcat');
/* or */
$('span.imgholder').attr('sortcat');
Vous pouvez sélectionner des éléments en fonction de leur nom de balise, de leur nom de classe ou des attributs à l'intérieur des balises. Reportez-vous à la documentation de jQuery sur les sélecteurs:
http://api.jquery.com/category/selectors/basic-css-selectors/
find () trouve des éléments dans un élément donné.
$('a.sort').find('span');