2011-11-15 15 views
0

を取得する私は、このようなclipartcategoryがそれの上でクリックされたクラスは<h3>タグで、その中に私が<a>の内容を取得したい<a>タグであるとき、その関数を書きたいです。以下の私のコード親のdiv兄弟タグ

<h3><a href="#section1">Arrows</a></h3> 
<div> 
    <ul> 
    <li class="clipartcategory">Custom</li> 
    <li class="clipartcategory">Standard</li> 
    </ul> 
</div> 
<h3><a href="#section2">Borders</a></h3> 
<div> 
    <ul> 
    <li class="clipartcategory">CornersStandard</li><li class="clipartcategory">Embellished Outline</li> 
    <li class="clipartcategory">Simple Outline</li><li class="clipartcategory">Solid</li> 
    </ul> 
</div> 

である私は、親機能は私に<div>を与えるだろう知っているが、どのように私はその<h3><a>内容

答えて

1

は、あなたのHTMLは、常にその構造に従うことが起こっていると仮定しますの上に達することができる:

$(".clipartcategory").click(function() { 
    var aText = $(this).closest("div").prev().find("a").text(); 
}); 

ここにはworking exampleがあります。あなたの質問にparentメソッドを記述しました。 div.clipartcategoryの親ではないため、closestを使用しました。 closestメソッドは、セレクタに一致する最も近い祖先要素を検出します。

+0

ありがとうございました。 –

+0

いいえ、私は助けになることができてうれしいです:) –

0

@James Allardiceは完全に正しいです。

$(".clipartcategory").click(function() { 
    var acontent = $(this).parent().parent().prev().find("a").text(); 
}); 

また、あなたはテキストとHTMLタグが含まれているかもしれないと思う場合における.text()の置き換え.html()を使用することができます:私はちょうどその問題の別の溶液を得ました。

関連する問題