Javascript在循环内递增

时间:2016-01-22 14:02:06

标签: javascript jquery html

let map = str.split('\n').reduce((m,l) => m.set(...l.split(' ')), new Map);

这就是我现在拥有的。我的 for (i = 0; i < arrayData.length; i++) { $(".swipe-wrap").append("<div class=\"final\">Hello!</div>"); console.log('hello'); } 是一个更改每个负载的数组。

我怎样才能得到它,以便我的班级arrayData每个final循环都会有一个类似的计数器:for<div class="final_1">Hello!</div> ..

2 个答案:

答案 0 :(得分:3)

for (i = 0; i < arrayData.length; i++) {
  $(".swipe-wrap").append("<div class=\"final_"+i+"\">Hello!</div>");
  console.log('hello');
}

答案 1 :(得分:0)

您不应在循环内执行DOM操作。始终执行批量操作。

试试这个:

var html = ""
for (i = 0; i < arrayData.length; i++) {
  html += '<div class="final_'+i+'">Hello!</div>';
  console.log('hello');
}
$(".swipe-wrap").append(html);

您也可以使用Array.forEach

var html = ""
var arrayData = ["test1", "test2", "test3", "test4", "test5"];
console.log(arrayData);
arrayData.forEach(function(item, index) {
  html += '<div class="tile final_' + index + '">Hello ' +item+ '!</div>';
  console.log('hello');
});
$(".swipe-wrap").append(html);
.swipe-wrap {
  background: #eee;
  padding: 10px;
  border: 1px solid gray;
}
.tile {
  width: auto;
  padding: 10px;
  margin: 10px;
  background: #fff;
  border: 1px solid #ddd;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<div class="swipe-wrap"></div>