jQuery技术:在尝试操作dom时,Jquery返回

我试图动态地将html片段(输入元素)插入到现有的div节点中。

我需要创建三个输入元素,所以我使用循环来创建它们并通过jquery初始化它们。 我将创建的元素存储在名为htmlstr的变量中。

var Buildstorecontents = function Buildstorecontents () { var $parts_holder = $("#parts_holder"); var $htmlstr = ""; for(var i = 0; i < 3; i += 1) { $htmlstr += $("", { "type" : "text", "class" : "", "readonly" : true }).append($("
")); } console.log($htmlstr); $parts_holder.append($htmlstr); } Buildstorecontents();

问题是变量htmlstr没有保存创建的html节点而是[object object]。 我犯的错误和其他可能的方法是什么?

这就是我想要实现的目标

 



    您正在尝试将jQuery对象连接到字符串。 这不起作用,因为jQuery对象没有有用的toString值。

    您需要创建一个空的jQuery集合, add元素add到该集合,然后追加该集合。

      var $html = $(); for(var i = 0; i < 3; i += 1) { $html = $html.add($("", { "type" : "text", "class" : "", "readonly" : true })).add($("
    ")); } console.log($html); $parts_holder.append($html);

    你的错误是希望jQuery操作的结果是一个字符串。

    您应该在将整个HTML字符串传递给jQuery之前创建它:

     var htmlString = ""; for (var i = 0; i < 3; i++) { htmlString += "
    "; } $parts_holder.append($(htmlString));

    它将减少jQuery执行的各个DOM操作的数量,并加速一切。

    如果你想看到实际的事情:

    的jsfiddle

      以上就是jQuery教程分享在尝试操作dom时,Jquery返回相关内容,想了解更多jQuery开发(异常处理)及jQuery教程关注计算机技术网(www.ctvol.com)!)。

      本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

      ctvol管理联系方式QQ:251552304

      本文章地址:https://www.ctvol.com/jquerytutorial/558029.html

      (0)
      上一篇 2021年1月26日
      下一篇 2021年1月26日

      精彩推荐