在 jQuery 中使用 prependTo() 的问题
Posted
技术标签:
【中文标题】在 jQuery 中使用 prependTo() 的问题【英文标题】:Problem using the prependTo() in jQuery 【发布时间】:2010-03-15 06:13:41 【问题描述】:我在尝试使用 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>
和以前一样
【问题讨论】:
【参考方案1】:另外,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 字符串中包含文字换行符。因此以下连接多个字符串的语法。
"..." +
"..." +
"..."
【讨论】:
谢谢,就是这样...由于某种原因,我不知道 ColdFusion 具有转义 Javascript 字符串的功能...我觉得自己像个傻瓜 :) 谢谢【参考方案3】:尝试将主 $("...")
内的所有双引号更改为单引号。例如'note178'
【讨论】:
试过了...我只是无法绕过其他 .ajax 工作的想法,而不是这种“手动”方法...在调试时都产生相同的代码...是引擎盖下有 jQuery 文本解析吗?【参考方案4】:JavaScript 字符串不能是文字换行符。
alert("12
34");
给出错误:unterminated string literal
【讨论】:
以上是关于在 jQuery 中使用 prependTo() 的问题的主要内容,如果未能解决你的问题,请参考以下文章
jQuery 选择元素的父元素并为其使用 prependTo()
jQuery 文档操作之prepend() 和prependTo()方法.
[ jquery 文档处理 prependTo(content) ] 此方法用于把所有匹配的元素前置到另一个指定的元素元素集合中
jQuery中append appendTo prepend prependTo insertBefore insertAfter after before之间的区别