【问题标题】:Problem using the prependTo() in jQuery在 jQuery 中使用 prependTo() 的问题
【发布时间】: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>

和以前一样

【问题讨论】:

    标签: jquery prepend


    【解决方案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

    【讨论】:

      猜你喜欢
      • 2020-09-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-28
      • 2018-07-14
      • 2019-05-17
      • 2011-02-09
      相关资源
      最近更新 更多