Вопрос

I am trying to select .singleAnswer but it's not working.

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>
Это было полезно?

Решение

The .closest() method searches up through the DOM, where you seem to be looking for a sibling of the .answerBar element, or, really, a child of the .answerContainer element.

Try this:

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

This means go up through the DOM from this to the nearest .answerContainer element, then from there find descendent(s) with class .singleAnswer.

Другие советы

You are looking for siblings not closest that would start the search up from the current element.

answer = $(this).parent('.answerBar').siblings('.singleAnswer');
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top