抓取最近的上一个分区的内容

Grab content of closest previous div

本文关键字:分区 上一个 最近 抓取      更新时间:2023-09-26

我目前正在做一件可以称为回复某篇文章下的某个人帖子的事情。

基本上,我想要实现的是,当你点击帖子下面的"回复帖子"(.comment reply class)时,你从.comment usernamediv中获取它的作者名称,并将其放在文本区域。问题是以这个div为目标,获取它的内容,我想把它放在变量中,然后放在文本区域。无法计算这种瞄准和抓取。条目的基本结构如下:

<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(),但没有结果。

有什么建议吗?

您可以使用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...
});

小提琴示例

有了父母(选择器),您可以:

 var name = $(this).parents('.comment-username').text();

祝你好运。