-1

近くの要素の値を取得しようとするjquery変数がいくつかありますが、機能しません。私はclosest()が正しいセレクターだと思いました。

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>
4

3 に答える 3

1

これを試して、.val()代わりに使用してくださいattr('value')

   var answer_id = $('.editAnswer').parent().siblings('.answer_id').val();
于 2012-01-12T17:56:00.717 に答える
0

最も近いのは、ノードの祖先をトラバースすることを前提としています。この場合、prev()を試してください

于 2012-01-12T17:57:43.387 に答える
0
$('.editAnswer').parent().find('.answer_id').val('value');
于 2012-01-12T18:00:02.387 に答える