我目前正致力于在某种文章中回复某人的帖子。
基本上,我想要实现的是当您点击“回复帖子”时。 (.comment-reply class)在帖子下面 - 你从.comment-username div中获取它的作者名称,然后把它放到textarea。问题是以这个div为目标并获取我想要放入变量的内容,然后将其放入textarea。无法想象这个目标和抓取。进入的基本结构是这样的:
<div class="comment-block comment-child">
<div class="comment-info title-small text-bold">
<div class="push-left">
<span class="comment-username sm-fc">AUTHOR NAME is here</span>
<span class="comment-time">some date</span>
</div>
<div class="push-right">
<span class="comment-rating">some int value</span>
</div>
<div class="clear"></div>
</div>
<div class="comment-text">
Sample text => Lorem ipsum dolor sit amet, consectetur adipiscing elit.
</div>
<div class="comment-functions">
<span class="comment-reply title-small text-bold">reply to post</span>
<span class="comment-rate comment-plus"> + </span>
<span class="comment-rate comment-minus"> - </span>
</div>
</div>
此外,在同一页面上会显示很多帖子,所以我不想为每一个帖子使用ID,而不是我使用的类在这种情况下我更清楚。
我一直在尝试$.prev()
,$.closest()
,但没有结果。
有什么建议吗?
答案 0 :(得分:4)
您可以使用closest()
来获取公共.comment-block
容器,然后find()
.comment-username
并检索text()
。试试这个:
$('.comment-reply').click(function() {
var username = $(this).closest('.comment-block').find('.comment-username').text();
// do something with the username here...
});
答案 1 :(得分:1)
有了父母(选择人),你可以:
var name = $(this).parents('.comment-username').text();
祝你好运。