2011-12-24 23 views
1

で兄弟要素を選択します。は、私はこのコードを持っているjQueryの

<div class="item"> 
    <div class="hidden">44</div> 
    <input type="submit" id="btnAddCommentForAnswer" value="Add Comment" /> 
    <script type="text/javascript"> 
    $(document).ready(function() { 
     $('#btnAddCommentForAnswer').click(function() { 
      alert(XXX); 
     }); 

    }); 
    </script>  
</div> 

<div class="item"> 
    <div class="hidden">12</div> 
    <input type="submit" id="btnAddCommentForAnswer" value="Add Comment" /> 
    <script type="text/javascript"> 
    $(document).ready(function() { 
     $('#btnAddCommentForAnswer').click(function() { 
      alert(XXX) 
     }); 

    }); 
    </script> 
</div> 
私は私がボタンを押したときに隠されたクラスを持つdiv要素=のコンテンツを取得するためにXXXに置く必要がありますどのようなコード

クラス=アイテムと同じdivですか?
あなたが最初のボタンをクリックすると、あなたが44を取得する必要があり、第二ボタンをクリックするためにあなたが得る12

答えて

4

まず、id'sがに意図されています一意であること;おそらくidclassに変更する必要があります。代わりにそれと 、あなたが望むものを達成するために、次のようなスクリプトを使用することができます。

$(document).ready(function() { 
    $('.btnAddCommentForAnswer').click(function() { 
     alert($(this).siblings('.hidden').text()); 
    }); 
}); 

はここJSFiddleの例です:JSFiddle

と記録のために、あなたははへを必要としませんスクリプトには2つのスクリプトタグがあります。 <script>タグでラップされたこの1つのスクリプトはすべて必要です。

1

は試していないが、これは動作するはずです:

$(this).closest('div').text() 
0

JavaScriptコードを複数回繰り返す必要はありません。また、ボタンが同じidを持つので、jqueryでidを使用することはできません。 あなたの問題を解決するかもしれないjsfiddle http://jsfiddle.net/t8XJZ/はここにあります。

0

多分これはあなたのためのより有用である...

jqueryの:

$(document).ready(function() { 
    $('.item').each(function(){ 
     $(this).find("#btnAddCommentForAnswer").click(function() { 
      alert($(this).prev(".hidden").text()) 
     }); 
    }); 
}); 

は、HTML:

<div class="item"> 
    <div class="hidden">44</div> 
    <input type="submit" id="btnAddCommentForAnswer" value="Add Comment" /> 
</div> 

<div class="item"> 
    <div class="hidden">12</div> 
    <input type="submit" id="btnAddCommentForAnswer" value="Add Comment" /> 
</div> 
関連する問題