javascript - 从数组中的对象获取 bool 值,然后为其分配 DOM 属性

标签 javascript jquery json for-loop

例如:

{
  "data": [
    {
      "name": "grape",
      "fruit": false
    },
    {
      "name": "orange",
      "fruit": true
    }
  ]
}

我正在循环遍历数组并将它们放在 DOM 上:

for (var i=0; i < data.length; i++) {
    var item = '<li>'+data[i].name+'</li>';
    $('#list').append(item)
}

我想要做的是,对于数组中 fruit 值设置为 true 的每个对象,将 is afruit 放入DOM,反之亦然。

我该怎么做?

最佳答案

有很多方法可以做到这一点,但基本上这就是要点:

// Initializing the data
const data = {
  data: [{
      "name": "grape",
      "fruit": false
    },
    {
      "name": "orange",
      "fruit": true
    }
  ]
}


// Getting the ul element
const ul = document.getElementById("list")


// Looping through the data array
data.data.forEach((item) => {

  // creating the listItem and assigning the text node
  const listItem = document.createElement('li')
  item.fruit ?
    listItem.appendChild(document.createTextNode("The fruit " + item.name + " is a fruit")) :
    listItem.appendChild(document.createTextNode("The fruit " + item.name + " is not a fruit"));


  ul.appendChild(listItem)
})
<div>
  <h1>
    Fruit checker
  </h1>
  <ul id="list"></ul>
</div>

关于javascript - 从数组中的对象获取 bool 值,然后为其分配 DOM 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55815871/

相关文章:

javascript - 如何在jQuery中读取xml文件内容并显示在html元素中?

javascript - 在 D3 v4.0.0-alpha.40 中不使用 data().enter() 附加拖动行为

javascript - Google map - map 拖动未释放的问题

javascript - 在 JavaScript 中验证 JSON 文件

javascript - 如何通过 "foreign key"关系组合json对象

Ruby,Telnet,无超时读取多行响应

javascript - 支持旧浏览器与 terser + rollup 吗?

jquery - 使用 bootbox.confirm() 确认表单提交

javascript - 如何叠加两个透明背景图像

java - 如何将具有内部对象的对象转换为 JSON