0

我坚持使用 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()ie网页设计师或网页开发人员或企业家以及价值.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);
});

我什么也得不到。你可以帮帮我吗?

PS我是jQuery的新手!

谢谢!

4

2 回答 2

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);
});
于 2012-06-30T18:37:28.527 回答
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);
});
于 2012-06-30T18:42:35.760 回答