2011-09-11 45 views
1

我希望能夠在點擊span.submit-comment之後更改div的css。更改生活點擊後的第一個div的css

我該如何去改變該div的css。

我試圖把下面的腳本的成功部分:

$('div.news-comment:first').css("background-color", "#000"); 

但在div只是閃爍的黑色(我點擊),因爲它的點擊功能裏面。我希望CSS保持直到刷新頁面。

任何想法?

// post news comment 
    $('span.submit-comment').live('click', function() { 
     var commentname = $('input#commentname').val(); 
     var commentcontent = $('textarea#commentcontent').val(); 
     var newsid = $('span.view-comments').attr('id'); 
     var datastring = 'commentname=' + commentname + '&commentcontent=' + commentcontent + '&newsid=' + newsid; 

     $.ajax({ 
     type: "POST", 
     url: "ajax/post_news_comment.php", 
     data: datastring, 
     success: function(){ 
        $('div#news-comments').load('ajax/get_news_comments.php?news_id=' + newsid); 
       } 
     }); 
    }); 

回答

0

如果要更改的背景註釋是在#新聞評論的div你與加載的HTML在阿賈克斯回調替換它get_news_comments.php。無論你把你的js放在哪裏,元素都會被替換。

如果是這樣,在成功函數的負載回調中添加它應該沒問題。

+0

確實是這個問題,我將它添加到加載函數的回調函數中,並且它的工作方式與我想要的完全相同。非常感謝! – Xorp25

0

你的css腳本沒問題,只是把它放在加載函數之後。

0

只需在按鈕單擊功能的末尾添加一個return false,或者傳入值e並將e.preventDefault();放在函數的開頭或結尾。

例如

$('span.submit-comment').live('click', function(e) { 
    e.preventDefault(); 
    // your other code. 
    return false; 
});