4

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);

どんな助けでも大歓迎です。

4

2 に答える 2

8
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);
于 2012-09-26T13:53:54.587 に答える
0

まず、JavaScript では改行が大きな問題になる可能性があります。Neil が述べたように、引用符をエスケープする必要があります。長い文字列を分割すると、読みやすくなることがあります。また、文字列の代わりに 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);

このようにすると、どの引用符がどこで始まり、どこで終わるかが明確にわかり、文字列内の改行を気にする必要がまったくなくなります。

于 2012-09-26T14:07:36.650 に答える