我有一些jquery变量试图获取附近元素的值但是它们不起作用。我认为nearest()是正确的选择器。
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> · <a href='#' class='downVote vote'>Downvote</a> ·
<a class='answerTime'> $difference $periods[$j] ago</a>
· <a href='#' style='color: orange;' class='editAnswer'><b>Edit</b></a>
答案 0 :(得分:1)
试试这个,也可以使用.val()
代替attr('value')
var answer_id = $('.editAnswer').parent().siblings('.answer_id').val();
答案 1 :(得分:0)
Closest假设您想要遍历节点的祖先。在这种情况下,请尝试使用prev()
答案 2 :(得分:0)
$('.editAnswer').parent().find('.answer_id').val('value');