对于使用jQuery append进行循环
for...in loop with jQuery append
我还是学习循环的新手,所以我有点困惑。我有一个for...in
循环,它循环对象的json文件。然后我让jQuery为每个对象创建一些html元素。不过,我有一个问题,每次循环时,它都会重复以前的对象和新的对象,所以输出变成:
-name
-name
-test
-name
-test
-someone
-name
-test
-someone
-something
但我正在努力做
-name
-test
-someone
-something
我怎样才能做到这一点?
我目前的代码是:
var html = ""
for (var name in urls) {
html += `<div class='card-panel white'><div class='container'><div class='row'><div class='input-field col s12'> ${name} <br> ${urls[name].url} </div></div></div></div>`
$("#main").append(html)
}
您在每次迭代中都附加HTML字符串,而不是将整个代码附加到for循环之外。尽管使用Object#hasOwnProperty
仅获取自己的属性,而不获取其原型。
var html = ""
for (var name in urls) {
if(urls.hasOwnProperty(name))
html += `<div class='card-panel white'><div class='container'><div class='row'><div class='input-field col s12'> ${name} <br> ${urls[name].url} </div></div></div></div>`;
}
$("#main").append(html)
我认为最好使用Object.keys()
和String#map
方法。
$("#main").append(
Object.keys(urls).map(function(name){
return `<div class='card-panel white'><div class='container'><div class='row'><div class='input-field col s12'> ${name} <br> ${urls[name].url} </div></div></div></div>`;
})
)
相关文章:
- jQuery:循环一个具有不同超时值的循环
- 在循环中分配json值时,值被覆盖
- 如何在下面的ES6循环中获得前面的文本
- 为什么“;未定义的“;在JavaScript中结束循环
- Javascript循环不会自我更新
- 如何使用jquery处理php循环通过元素
- 而循环只设置php中输入字段中的第一个值
- 循环遍历数组中的特定索引
- Javascript返回值只在循环中返回一次
- 按照选项卡索引的顺序循环一个jQuery选择
- Jquery append oly获取循环Rails中的最后一个elemen
- jQuery通过Json数组在append循环中
- empty().append()追加循环中的最后一项
- 带有 .append() 的内部 .each()-循环
- 在循环中使用.append()在<选择>基于所选择的选项
- 如何在JS FOR循环中使用jquery .append()
- 以选择器作为变量循环.append()
- 对于使用jQuery append进行循环
- 如何使用for循环和.append()方法在jQuery中构造表
- 使用append()的简单循环不起作用