JS元素ID递增

var nub = 2;
var blk="<div class='blk' id=' '></div>";
$("#1").after(blk);
nub++;

怎么让生成出来的div的ID做到blk2 blk3 blk4..... 这样 id=' '里面应该是填写什么

阅读 7.6k
5 个回答

html

<div class="content"></div> 
<span class="btn">点击我</span>

css

html, body{
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  text-align: center;
  color: #fff;
}

.content{
  height: 60%;
  background: #00796B;
  overflow: scroll;
}

.blk{
  height: 20px;
  line-height: 20px;
  background-color: #B2DFDB;
}

.btn{
  display: inline-block;
  width: 70px;
  height: 30px;
  border-radius: 4px;
  background: #009688;
  line-height: 30px;
  margin-top: 30px;
  cursor: pointer;
}

js

$(function(){
  var add = (function(start){
    var count = start;
    var iHtml = '';
    
    return function(){
      iHtml = "<div class='blk' id="+'blk' + (count++) + ">"+ count +"</div>" + 'blk'+count;
      
      $('.content').append(iHtml);
    }
  })(1)
  
  $('.btn').click(add);
})

点击预览

var nub = 2;
var blk="<div class='blk' id=' '></div>";
$("#1").after(blk);
$(".blk:last").attr('id', 'blk'+nub);
nub++;

ES6的话可以用模板字符串插入变量,
${variable}

闭包搞定,赋初始值,自增

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题