2012-10-28 74 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