Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/410.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
创建多个按钮-Javascript_Javascript_Arrays_Object - Fatal编程技术网

创建多个按钮-Javascript

创建多个按钮-Javascript,javascript,arrays,object,Javascript,Arrays,Object,我有一个Javascript对象数组。在不使用任何HTML的情况下,我需要为数组中的每个对象添加按钮。我知道如何用Javascript制作按钮,如下所示: //Create the button var button = document.createElement("button"); 但我不知道如何为数组中的每个对象添加一个。以下是我的阵列的阵列代码: var items = [ { name: "cake", price:"7.00", quantity:4 }, { name:"fr

我有一个Javascript对象数组。在不使用任何HTML的情况下,我需要为数组中的每个对象添加按钮。我知道如何用Javascript制作按钮,如下所示:

//Create the button
var button = document.createElement("button");
但我不知道如何为数组中的每个对象添加一个。以下是我的阵列的阵列代码:

var items = [
{
name: "cake",
price:"7.00",
quantity:4
},

{
name:"fries",
price:"8.00",
quantity:3
},

{
name:"brownie",
price:"5.00",
quantity:2
},

{
name:"candy",
price:"9.00",
quantity: 12
},

]
我有更多的对象在我的数组中,但我只添加了几个,以尽量减少问题,我希望'名称'被用作按钮的标签。我知道我将需要使用for循环,但我被困在循环中写什么。我试着在谷歌上搜索这个问题,但我找不到任何能在Javascript中显示如何做到这一点的东西。我只找到了我还没有学会的其他语言。此外,我已经创建了此链接:


我想把这个按钮当作一个类似的按钮来使用。每个项目都有一个按钮,单击该按钮时,项目将显示在列表中。例如:用户喜欢蛋糕和薯条,所以我的“列表”会显示蛋糕和薯条。每个按钮只能单击一次。这类似于向购物中心添加商品的概念,但我将其用于喜欢的商品。

您可以使用forEach()数组方法创建一个循环,如:

const parentElement = document.querySelector('body'); // DOM location when buttons will be added
items.forEach(function(item) {
  const button = document.createElement("button");
  button.innerText = item.name;
  parentElement.appendChild(button); // to add new element to DOM
})

你能举一个你想为每个按钮创建的属性的例子吗?我建议你研究一下如何在你的数组中循环。@NewToJS我已经读过这个链接了,但我还是被卡住了。此外,我还更新了我的问题,以指定我要对按钮执行的操作。因此,名称以外的其他属性与您当前的任务无关,但在本例中显示这些属性是为了让其他人知道对象具有多个属性?@NewToJS Yes这是正确的。我添加它们只是为了让其他人知道对象有多个属性。对于我的问题,我只想显示喜欢的项目的名称。这是一个重复的问题,但我今天刚刚加入,没有足够的声誉将其标记为重复,因此。。。Stackoverflow-:P(如果您熟悉jQuery,则可以使用)。我尝试了这段代码,也尝试了对其进行一些更改,但页面上没有显示任何按钮。使用createElement()创建按钮后,您必须使用document.querySelector('body').appendChild(按钮)等将其添加到页面中。(更新答案以显示方法)