我正在坚持使用jQuery,我需要使用最接近获取所需元素的.text()。
这是HTML:
<div class="endorse-set">
<div class="endorse">
<span class="keyword" id="keyword-1">web developer</span>
<textarea class="comment" id="comment-1"></textarea>
<input type="button" class="endorse-button" id="endorse-button-1" value="Endorse">
</div>
<div class="endorse">
<span class="keyword" id="keyword-2">web designer</span>
<textarea class="comment" id="comment-2"></textarea>
<input type="button" class="endorse-button" id="endorse-button-2" value="Endorse">
</div>
<div class="endorse">
<span class="keyword" id="keyword-3">Entrepreneur</span>
<textarea class="comment" id="comment-3"></textarea>
<input type="button" class="endorse-button" id="endorse-button-3" value="Endorse">
</div>
</div>
当用户点击.text()
.comment
即网页设计师或网站开发人员或企业家以及.endorse-button
值
我试过这样但失败了:
$(".endorse-button").click(function(){
var keyword = $(this).closest('span.keyword').text();
var comment = $(this).closest('textarea.comment').val();
alert(keyword);
alert(comment);
});
我一无所获。你能帮帮我吗?
P.S。我是jQuery的新手!
谢谢!
答案 0 :(得分:3)
closest
方法查看祖先元素(例如父div.endorse
及其父元素等)。有问题的元素是兄弟姐妹,因此您可以使用siblings
方法:
$(".endorse-button").click(function(){
var keyword = $(this).siblings('span.keyword').text();
var comment = $(this).siblings('textarea.comment').val();
alert(keyword);
alert(comment);
});
答案 1 :(得分:1)
这就是我在这种情况下使用.closest()
的方法:
$('.endorse-button').click(function(){
var endorse = $(this).closest('.endorse'),
keyword = endorse.find('span.keyword').text(),
comment = endorse.find('textarea.comment').val();
alert(keyword);
alert(comment);
});