jquery
2012-09-26 44 views 4 likes 
4

我想在jQuery中的以下附加方法上設置超時。我已經竭盡所能保持返回Uncaught SyntaxError: Unexpected identifier附加的jQuery setTimeout

這裏是我的代碼:

setTimeout("$('#user-comments').append('<div class='video_comment'> 
<div class='name'>David</div><div class='time'>test</div> 
<div class='indiv-comment'><p>'"+message+"'</p></div></div><hr class='gray' />')",3000); 

任何幫助表示讚賞。

回答

7
setTimeout(function() { 
    $("#user-comments").append('<div class="video_comment"> 
           <div class="name">David</div> 
           <div class="time"><?php echo date('F j, Y, g:i a'); ?></div> 
           <div class="indiv-comment"><p>' + message + '</p></div></div>'); 
}, 3000); 
+0

我編輯了我的原始代碼,拿出PHP,它仍然無法正常工作。 – Jako

+0

我現在更新了我的答案,以使用更好的方式來做到這一點。 –

+1

謝謝。它的工作 – Jako

0

首先,換行符可能是javascript中的一大麻煩。正如尼爾所說,你需要避免引號。有時分解更長的字符串會使其更具可讀性。此外,你可以提供一個函數setTimeout而不是一個字符串。這裏有一個例子:

setTimeout(function() { 
    var nameTag = '<div class="name">David</div>'; 
    var timeTag = '<div class="time">test</div>'; 
    var commentTag = '<div class="indiv-comment"><p>' + message + '</p></div>'; 
    var wrap = '<div class="video_comment">' + 
        nameTag + 
        timeTag + 
        commentTag + 
       '</div><hr class="gray" />'; 

    $('#user-comments').append(wrap) 
}, 3000); 

這種方式,你可以清楚地看到哪些引號開始和結束的地方,你不會有串內的換行來打擾的。

相關問題