Javascript jQuery迁移插件不允许我使用jQuery(htmlString)

Javascript jQuery迁移插件不允许我使用jQuery(htmlString),javascript,jquery,html,Javascript,Jquery,Html,我正在升级一些使用jQuery 1.7.2版的旧软件。由于添加了一些新插件,需要更新版本的jQuery,我已经将其升级到1.12.1版 但是,有大量jQuery使用jQuery(htmlString)格式,例如: var html = $("<div>"); // Prepare the <div> of comments $.each(data.comments, function() { console.log(this); html

我正在升级一些使用jQuery 1.7.2版的旧软件。由于添加了一些新插件,需要更新版本的jQuery,我已经将其升级到1.12.1版

但是,有大量jQuery使用jQuery(htmlString)格式,例如:

  var html = $("<div>");

  // Prepare the <div> of comments
  $.each(data.comments, function() {
      console.log(this);
    html.append(
      $("<div>").attr("class", "comment").html(
        $("<div>").attr("class", "comment-profile-pic").html("").after(
          $("<div>").attr("class", "comment-text").html(
            $("<h1>").html(
              this.full_name + " at " + this.started_datetime
            ).after(
              $("<p>" + this.text + "</p>")
            )
          )
        )
      )
    );
  });
var html=$(“”);
//编写评论意见汇编
$.each(data.comments,function(){
console.log(this);
html.append(
$(“”).attr(“class”,“comment”).html(
$(“”).attr(“class”,“comment profile pic”).html(“”).after(
$(“”).attr(“类”,“注释文本”).html(
$(“”)。html(
this.full_name+“at”+this.start_datetime
).之后(
$(“”+this.text+“

”) ) ) ) ) ); });
看起来$(htmlString)在版本1.9中被贬值了,阅读其中的升级指南说明识别html是否被传递到选择器的格式已经改变,但是它还说:

使用jquerymigrate插件时,它将使用旧规则来确定传递给$()的字符串是否“看起来像HTML”

我已经附加了jQuery迁移插件版本1.4.1,但它似乎没有任何区别,仍然无法在选择器中识别HTML

编辑: 我已经尝试将jQuery恢复到1.8.0版,它可以正常工作,但是1.9.0版破坏了它。这意味着升级到v1.9肯定会有问题

另外,在做了进一步的测试之后,我意识到当您执行类似于
$(“”).attr(“class”,“comment”)
的操作时,将html传递到选择器中是有效的,但在上面的示例中进行嵌套时则不起作用


有人知道如何在不重新编写将HTML传递到选择器的所有代码的情况下绕过这个问题吗

如果您阅读升级指南,您会发现这只是一个问题,如果html字符串不是以
开头,那么这里没有问题-您的代码很好。如果您阅读了升级指南,您会发现这只是一个问题,如果html字符串不是以
开头的,您是否清除了浏览器的缓存?@Rorymcrossan我已将jQuery恢复到v1.8,然后它在v1.9上工作,因此它肯定是升级的问题。问题很可能是由于您如何提供jQuery对象设置为
html()
。我在下面为你添加了一个答案谢谢你的回答Rory。问题是,我正在尝试更新应用程序,在整个过程中都有这样的代码,这些代码是由以前的开发人员编写的。我真的希望避免必须进行手动更新。甚至可能是将一个对象传递到html()方法是v1.9中被贬低的东西,但在升级文档中我看不到这方面的参考,所以以前的开发人员可能利用了v1.9中修复的错误?