Question

Je suis en train de sélectionner .singleAnswer mais il ne fonctionne pas.

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>
Était-ce utile?

La solution

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.

Autres conseils

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

answer = $(this).parent('.answerBar').siblings('.singleAnswer');
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top