【问题标题】:JavaScript Append New Array at The Beginning HTML list [duplicate]JavaScript在HTML列表的开头追加新数组[重复]
【发布时间】:2017-01-23 13:47:46
【问题描述】:

我有一个像下面这样的对象:

var data = [
  {item_name: 'Book', stock: 15},
  {item_name: 'Pencil', stock: 15},
  {item_name: 'Paper', stock: 3}
];

然后我从对象生成一个带有 HTML 的列表:

console.log(data);
var html = '';
for (var i = 0; i < data.length; i++) {
    html += '<li class="list-group-item" id="listGroup">'+data[i].item_name+'<span class="badge">'+data[i].stock+'</span></li>';
}
$('#listItem').html(html);

如果我添加新对象,我如何将新对象放在列表的开头?

【问题讨论】:

  • 你在找data.unshift({item_name: 'Foo', stock: 1337})
  • data.unshift(newData) 并使用 jQuery $('#listItem').prepend('&lt;li&gt;...');
  • data 是数组而不是对象

标签: javascript jquery arrays object


【解决方案1】:

像这样尝试。unshift() 方法将新项目添加到数组的开头。使用forEach() 循环数组。

var data = [
  {item_name: 'Book', stock: 15},
  {item_name: 'Pencil', stock: 15},
  {item_name: 'Paper', stock: 3}
];
data.unshift( {item_name: 'new', stock: 10});
//console.log(data);
var html='';
data.forEach(function(element,index,array){
    html += '<li class="list-group-item" id="listGroup">'+data[index].item_name+'<span class="badge">'+data[index].stock+'</span></li>';
$('#listItem').html(html);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="listItem">

</div>

JS FIDDLE https://jsfiddle.net/b1sf7a1d/

【讨论】:

  • 您可能忘记了问题的要求之一如果我添加新对象,我如何将新对象放在列表的开头?
  • @GilleQ。这就是 unshift 的作用。
  • 也许我理解错了,但我认为他也想将 newElement 附加到他的 html 列表中
  • @@GilleQ。 unshift() 方法将新项目添加到数组的开头。
  • 感谢您的回复,但如果插入了新数组,我想自动追加新元素,而不是直接添加
猜你喜欢
  • 2013-06-03
  • 2015-04-26
  • 2020-07-04
  • 2012-08-21
  • 2018-11-25
  • 2012-09-22
  • 2020-08-08
  • 2015-09-14
  • 2011-12-30
相关资源
最近更新 更多