我正在尝试在jQuery中为以下append方法设置超时。我尝试过的所有内容都会继续Uncaught SyntaxError: Unexpected identifier
这是我的代码:
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);
感谢任何帮助。
答案 0 :(得分: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);
答案 1 :(得分: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);
通过这种方式,您可以清楚地看到哪个引号开始和结束在哪里,您根本不必为字符串中的换行符而烦恼。