2

jQueryでprependTo()関数を使用しようとすると問題が発生します...何らかの理由でこれを機能させることができません

$("
<div id="note178" class="note"> 
 <div class="delete"><a href="/chart-notes/delete/178" onclick="$.ajax({ dataType: 'script', url: '/chart-notes/delete/178'}); return false;"><img src='/images/icons/delete.png'></a></div> 
 <div class="timestamp">1 minute ago </div> 
 <div class="content">ñasdas dasdasdasd conclusión</div>  
</div>
").prependTo(".notes").fadeIn("slow");

このようにするとうまくいきますが

$.ajax({
  url:'/chart-notes/show/<cfoutput>#chartnote.id#</cfoutput>',
  success: function(data) {
   $(data).prependTo(".notes").fadeIn("slow");

   // Scroll to the top of the annotations
   $('html, body').animate({scrollTop: $(".notes").offset().top}, 1000);

   // Clear the form
   $('#chartnote-notes').val("");  
  }
 });

その成功関数からの「データ」応答は同じです

<div id="note178" class="note"> 
 <div class="delete"><a href="/chart-notes/delete/178" onclick="$.ajax({ dataType: 'script', url: '/chart-notes/delete/178'}); return false;"><img src='/images/icons/delete.png'></a></div> 
 <div class="timestamp">1 minute ago </div> 
 <div class="content">ñasdas dasdasdasd conclusión</div>  
</div>

従来通り

4

4 に答える 4

3

また、IIRCでは、fadeInを呼び出す前に、#note178に「display:none」を設定する必要あります。そうしないと、フェード効果が表示されません。

于 2010-03-15T06:20:04.637 に答える
2

これを試してみてください。

$("<div id=\"note178\" class=\"note\"> "+
" <div class=\"delete\"><a href=\"/chart-notes/delete/178\" onclick=\"$.ajax({ dataType: 'script', url: '/chart-notes/delete/178'}); return false;\"><img src='/images/icons/delete.png'></a></div> "+
" <div class=\"timestamp\">1 minute ago </div> "+
" <div class=\"content\">ñasdas dasdasdasd conclusión</div>  "+
"</div>").prependTo(".notes").fadeIn("slow");

二重引用符をエスケープする必要があり、javascript 文字列にリテラルの改行を含めることはできません。したがって、次の構文は複数の文字列を連結します。

"..." +
"..." +
"..."
于 2010-03-15T11:00:14.520 に答える
0

メイン内のすべての二重引用符を$("...")一重引用符に変更してみてください。例えば、'note178'

于 2010-03-15T06:16:52.507 に答える
0

JavaScript 文字列はリテラル改行できません。

alert("12
       34");

エラーが発生します:unterminated string literal

于 2010-03-15T06:50:37.493 に答える