1

HTML の文字列を宣言し、それを変数に等しく設定します。エラーが発生する理由は思いつきませんが、次のとおりです。

キャッチされない SyntaxError: Ln 136 の予期しない識別子。

Ln 136: new_comment = '
    <li class="photobooth-comment">
       <span class="username">
          <a href="#">You</a>
       </span>
       <span class="comment-text">
          ' + text + '
       </span>
       <span class="comment-time">
          2d
       </span>
    </li>
';
4

4 に答える 4

3

あなたが望むことに最も近いのは、改行をエスケープすることです。

new_comment = '\
    <li class="photobooth-comment">\
       <span class="username">\
          <a href="#">You</a>\
       </span>\
       <span class="comment-text">\
          ' + text + '\
       </span>\
       <span class="comment-time">\
          2d\
       </span>\
    </li>\
';

これとは別に、文字列連結も使用できます。

(可能性のある重複を見つけました: How to create multiline strings )

于 2013-02-17T09:31:35.490 に答える
3

読みやすくするために実際のコードに改行を含めたい場合は、それぞれをバックスラッシュでエスケープする必要があります。次に例を示します。

var new_comment = '\
    <li class="photobooth-comment">\
       <span class="username">\
          <a href="#">You</a>\
       </span>\
       <span class="comment-text">\
          ' + text + '\
       </span>\
       <span class="comment-time">\
          2d\
       </span>\
    </li>\
';

または、次のように、それらを個々の文字列として連結する必要があります。

var new_comment = ''+
    '<li class="photobooth-comment">' +
       '<span class="username">' +
          '<a href="#">You</a>' +
       '</span>' +
       '<span class="comment-text">' +
          text +
       '</span>' +
       '<span class="comment-time">' +
          '2d' +
       '</span>' +
    '</li>'+
'';

または、単純にすべてを 1 行にまとめます。

var new_comment = '<li class="photobooth-comment"><span class="username"><a href="#">You</a></span><span class="comment-text">' + text + '</span><span class="comment-time">2d</span></li>';

読むのは簡単ではありませんが、JavaScript の方がきれいです。

于 2013-02-17T09:33:55.353 に答える
0

を使用しているため、jquery を<li>使用すると、HTML ページに を配置し、一致した要素のセットの最初の要素の HTML コンテンツを取得する.html()メソッドを使用したり、一致したすべての要素の HTML コンテンツを次のように設定したりできます。

 var new_comment = $(".photobooth-comment").html();
   //do what you want to 
于 2013-02-17T09:37:38.010 に答える
0

これは、いたずらな PHP にインスパイアされたメソッドです。心の練習としてここに投稿します。マイナス投票しないでください...

デモ

var new_comment; /*<<<EOF 
    <li class="photobooth-comment">
       <span class="username">
          <a href="#">You</a>
       </span>
       <span class="comment-text">
          $text
       </span>
       <span class="comment-time">
          2d
       </span>
    </li>
EOF*/
// note the script tag here is the hardcoded as the first tag 
new_comment=document.getElementsByTagName('script')[0].innerHTML.split("EOF")[1]; 
alert(new_comment.replace('$text','Here goes some text'));
于 2013-02-17T09:43:28.537 に答える