我在尝试在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>
和以前一样
答案 0 :(得分:3)
另外,IIRC,在调用 fadeIn 之前,你必须为#note178设置“display:none”,否则你将看不到任何淡入淡出效果。
答案 1 :(得分: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字符串中包含文字新行。因此以下语法连接多个字符串。
"..." +
"..." +
"..."
答案 2 :(得分:0)
尝试将主$("...")
内的所有双引号更改为单引号。例如,'note178'
答案 3 :(得分:0)
JavaScript字符串不能代替换行符。
alert("12
34");
给出错误:unterminated string literal