次のマークアップがある場合:
<p class="header hours">
<a href="javascript:void(0)" class="sort" sortcat="hours">
Hours <span class="imgholder" sortcat="hours"> </span>
</a>
</p>
アンカータグ内で<span>
タグをターゲットにするにはどうすればよいですか?他にも5つの類似した<p>
タグエントリがあり、それぞれsortcat=
の値が異なります
$(".sort").click(function(){
var cat = $(this).children("span").attr("sortcat");
//do something with the sortcat
});
$("a span[sortcat]").attr('sortcat')
これにより、最初の要素のsortcat
値が得られます。それらをすべて取得するには、次のようにします。
$("a span[sortcat]").map(function(){ return $(this).attr('sortcat') })
この作業デモを参照してください: http://jsfiddle.net/BwgDW/
$('.sort span')
誤解しましたか?
Spanタグを参照するにはいくつかの方法がありますが、それらはすべて「.attr( 'sortcat');」で終わります。内部にアンカータグとスパンを持つ他のpタグ。
$('p.header a.sort span.imgholder').attr('sortcat');
/* or */
$('span.imgholder').attr('sortcat');
タグ名、クラス名、またはタグ内の属性に基づいて要素を選択できます。セレクタに関するjQueryのドキュメントを参照してください。
http://api.jquery.com/category/selectors/basic-css-selectors/
find()は、指定された要素内の要素を見つけます。
$('a.sort').find('span');