2012-01-12 1 views
-1

У меня есть некоторые переменные jquery, которые пытаются получить значения соседних элементов, однако они не работают. Я думал, что ближайший() был правильным селектором.Движение дерева 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

Ваша разметка кажется неполной. Можете ли вы предоставить полную разметку, которая включает в себя .answer_id и .editanser? –

ответ

1

Попробуйте также использовать .val() вместо attr('value')

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

спасибо, но он не работал – kirby

+0

Обновленный ответ ... – Gabe

0

Ближайший предполагает, что вы хотите, чтобы пройти через предков узла , В этом случае попробуйте prev()

0
$('.editAnswer').parent().find('.answer_id').val('value');