web-dev-qa-db-ja.com

子要素の属性を取得

次のマークアップがある場合:

<p class="header hours">
    <a href="javascript:void(0)" class="sort" sortcat="hours">
        Hours&nbsp;<span class="imgholder" sortcat="hours">&nbsp;</span>
    </a>
</p>

アンカータグ内で<span>タグをターゲットにするにはどうすればよいですか?他にも5つの類似した<p>タグエントリがあり、それぞれsortcat=の値が異なります

26
PruitIgoe
$(".sort").click(function(){
  var cat =  $(this).children("span").attr("sortcat");
  //do something with the sortcat
});
51
mkoryak
$("a span[sortcat]").attr('sortcat')

これにより、最初の要素のsortcat値が得られます。それらをすべて取得するには、次のようにします。

$("a span[sortcat]").map(function(){ return $(this).attr('sortcat') })

この作業デモを参照してください: http://jsfiddle.net/BwgDW/

10
Brian Donovan
$('.sort span')

誤解しましたか?

2
sdleihssirhc

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/

http://api.jquery.com/category/selectors/

1
TJ Kirchner

find()は、指定された要素内の要素を見つけます。

$('a.sort').find('span');

0
scragz