JQuery не могут перемещаться элементы - PullRequest
0 голосов
/ 13 января 2012

Я пытаюсь выбрать .singleAnswer, но он не работает.

JQUERY:

 $(".answerContainer").on("click", ".editAnswer", function(e){
e.preventDefault();
answer = $(this).parent('.answerBar').closest('.singleAnswer'); //this variable doenst work

HTML:

<div class='answerContainer'>
<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></div>

Ответы [ 2 ]

2 голосов
/ 13 января 2012

Метод .closest() ищет вверх через DOM, где вы, похоже, ищете родного брата элемента .answerBar или, на самом деле, потомка.answerContainer element.

Попробуйте это:

answer = $(this).closest('.answerContainer').find('.singleAnswer'); 

Это означает, что вы пройдете через DOM от this до ближайшего .answerContainer элемента, а затем оттуда найдите потомков.с классом .singleAnswer.

0 голосов
/ 13 января 2012

Вы ищете ближайших братьев и сестер, которые начали бы поиск с текущего элемента.

answer = $(this).parent('.answerBar').siblings('.singleAnswer');
...