【问题标题】:Auto increment numbers in div id javascriptdiv id javascript中的自动递增数字
【发布时间】:2014-09-10 18:39:01
【问题描述】:

有人可以帮帮我吗? 如何使用javascript在div ID中添加自动递增编号? 我有四个 div,我想让它们通过 javascript 在 ID 中自动编号(box1、box2、box3、box4)。

这是我的代码

<div id="box" class="something"> </div>
<div id="box" class="something"> </div>
<div id="box" class="something"> </div>
<div id="box" class="something"> </div>

<script>
  var list = document.getElementsByClassName("something");
  for (var i = 0; i <= list.length; i++) {
   list[i].innerHTML = i;
  }
</script>

【问题讨论】:

标签: javascript auto-increment


【解决方案1】:

设置id属性

var list = document.getElementsByClassName("something");
for (var i = 0; i < list.length; i++) {
    list[i].id = "box" + (i + 1);
}

【讨论】:

    【解决方案2】:

    您的代码中有一个错误:如果您从 0 开始,&lt;= 应该只是 &lt;

    一种可能的解决方案是使用node.setAttribute("attributeName", "attributeValue") method 来设置/更改元素的属性(在本例中为id):

    <div id="box" class="something">A</div>
    <div id="box" class="something">B</div>
    <div id="box" class="something">C</div>
    <div id="box" class="something">D</div>
    
    <script>
      var list = document.getElementsByClassName("something");
      for (var i = 0; i < list.length; i++) {
       list[i].setAttribute("id", "box" + i);
      }
    </script>
    

    输出是:

    <div id="box0" class="something"></div>
    <div id="box1" class="something"></div>
    <div id="box2" class="something"></div>
    <div id="box3" class="something"></div>
    

    如果可以使用 JS 库(例如 jQuery),那么转换可以写得更简洁:

    $(".something").each(function(index) {
        $(this).attr("id", this.id + index);
    });
    

    此代码导致与上面相同的输出。

    注释的jQuery代码:

    // find all elements with the class "something"
    $(".something")
    // call for each one of them 
        .each(
    // the function with parameter = current index
        function(index) {
    // take the current element
        $(this)
    // and set the attribute id to the new value
        .attr("id", this.id + index);
    });
    

    【讨论】:

    • 谢谢,但你能告诉我是否需要在头部部分添加一些内容。因为当我将它插入到 html 文件中时,这段代码对我不起作用。
    • 第一部分无需额外代码即可工作。第二部分使用jQuery library。您需要在本地下载该库并从您的计算机/服务器引用它或直接从网络引用它,例如从这里cdnjs.com 像这样:&lt;script src="&lt;script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.1/jquery.min.js" type="text/javascript" async=""&gt;&lt;/script&gt;" type="text/javascript"&gt;&lt;/script&gt;。这段代码应该放在html页面的头部。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-04
    • 2015-03-10
    • 1970-01-01
    • 2020-07-04
    • 2015-12-31
    • 2011-07-01
    相关资源
    最近更新 更多