2012-10-28 47 views
0

我在更改靠近另一个元素的元素中的文本时遇到问题。该功能相当简单,但出于某种原因,我无法让这个文本更改工作。jQuery部分改变元素

当我点击#dislike_text时,它会变为空白(因为它应该),但.like_text不会更改。请注意,还有一个后置功能(与此相同,但相反,这很好)。

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; 
} 
+0

你应该添加一些HTML向我们展示了和“美化”这JQ –

+0

$(“#东西).load(缺少”是录入错误 –

+0

@BrunoVieira - 不,我只是?删除所有功能的东西。 – chowwy

回答

1

closest上升通过祖先元素和发现选择匹配的第一个。如果没有类like_text的祖先元素,则不会选择元素。

我认为你并不是想要空白一个祖先元素,因为那样会产生删除#stuff元素的效果。因此,您需要使用jQuery的traversing functions以其他方式找到其他元素。最可能的方法是使用closest找到一个共同的祖先,然后使用find来获取元素本身。例如:

$(elm).closest('div.someClass').find('.like_text').html('Like'); 
+0

谢谢,这完美的工作!已upvoted,并会尽快让我接受(4分钟)。 – chowwy