2012-01-12 11 views
-1

近くの要素の値を取得しようとするjquery変数がありますが、機能しません。私はclosest()が正しいセレクターだと思った。Jqueryツリーのトラバースが選択されていない

のjQuery:

$(".answerContainer").on("click", ".editAnswer", function(e){ 
e.preventDefault(); 

var answer_id = $(this).closest('.answer_id').attr('value'); //this doenst work 

HTML:

<p name='singleAnswer' class='singleAnswer'>$answer[$f]</p> 
<input type='hidden' value='$answerid[$f]' class='answer_id' /> 
<p class='ratingBox'> $answerrating[$f]</p> 
<div class='answerBar'>"; 
<a href='#' class='upVote vote'>Upvote</a> &middot; <a href='#' class='downVote vote'>Downvote</a> &middot; 
<a class='answerTime'> $difference $periods[$j] ago</a> 
&middot; <a href='#' style='color: orange;' class='editAnswer'><b>Edit</b></a> 
+1

.answerContainerとは何ですか?あなたのHTMLにはありません。私はあなたが実際に$(this)find( "。answer_id")を探していると思われます – Archer

+1

あなたのマークアップは不完全そうです。 –

答えて

1

は、最も近いあなたがノードの祖先を横断したいと仮定しattr('value')

var answer_id = $('.editAnswer').parent().siblings('.answer_id').val(); 
+0

ありがとうございましたが、それは仕事をしなかった – kirby

+0

答えを更新... – Gabe

0

.val()の代わりを使用しても、これを試してみてください。この場合、prev()を試してください。

0
$('.editAnswer').parent().find('.answer_id').val('value'); 
関連する問題