javascript - jQuery .before() 然后找到它的内容并应用 for 循环。我究竟做错了什么

标签 javascript jquery dom for-loop

我需要动态添加一些东西,比如容器,然后在 DOM 中找到它并填充数字列表。这是我的做法,但我觉得这是多余的,也许我应该采用另一种方式。唯一的问题是我必须使用 JavaScript 来完成这一切,并且无法对任何容器进行硬编码。这就是为什么我首先添加它,然后尝试找到它。

JS Bin 工作示例 http://jsbin.com/okikohu/1/

代码:

<script>
    $(function(){

      var obj = $('form'),
          total = 6;

        obj.before('<div class="container"/>');
        var container = $('body').find('.container');

        for (var i = 0, limit = total; i < limit; i++) {

                container.append('-<span class="step" id="is'+(i+1)+'">'+(i+1)+'</span>-');

      }

    });
  </script>

<form>some form</form>

最佳答案

obj.before('<div class="container"/>');
var container = $('body').find('.container');

而不是使用 before()然后是 DOM 查询,您可以使用 jQuery(html) constructor 创建元素简单地说insertBefore()它在某个地方,同时仍然保留引用:

var total = 6,
    container = $('<div class="container"/>').insertBefore('form');

关于javascript - jQuery .before() 然后找到它的内容并应用 for 循环。我究竟做错了什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19563344/

相关文章:

javascript - WebApp 上的 phonegap-facebook-plugin,JS 错误

javascript - 从 Meteor.js 打开一个 Websocket 连接

javascript - 如何存储对类属性的 AJAX 响应?

javascript - 面向对象的 JavaScript 最佳实践问题 : How should I configure my objects for the following

javascript - 使用 this.select() 选择多个输入文本——选择下一个时不要取消选择

javascript - 如何以编程方式设置 HTMLElement 的宽度?

javascript - Jquery向后树遍历

javascript - 在 ES6 中使用解构定义可选参数

javascript - 如何在目标数组值中匹配 javascript 源数组键

javascript - AJAX 和使用 JavaScript 的客户端-服务器架构