0

我无法更改靠近另一个元素的元素中的文本。该功能相当简单,但由于某种原因,我无法使此文本更改生效。

当我单击#dislike_text 时,它会变为空白(应该如此),但 .like_text 不会改变。请注意,还有一个类似 post 的功能(与此功能相同,但相反,可以正常工作)。

function postdislike(elm) {

    var comment_id = $(elm).attr('href');

    $('#stuff').load(// --function-- 

      function (data) {

        $('#dislike_text' + comment_id).html(""); //works fine
        $(elm).closest('.like_text').html('Like'); //doesn't work
    });
    return false;
}
4

1 回答 1

1

closest向上遍历祖先元素并找到与选择器匹配的第一个元素。如果 class 没有祖先元素,则like_text不会选择任何元素。

我认为您并不是要清除祖先元素,因为这会产生删除#stuff元素的效果。因此,您需要使用 jQuery 的遍历函数以其他方式找到通往其他元素的方法。最可能的方法是使用closest找到一个共同的祖先,然后find获取元素本身。例如:

$(elm).closest('div.someClass').find('.like_text').html('Like');
于 2012-10-28T19:40:38.460 回答