簡體   English   中英

用javascript遍歷對象

[英]looping through an object with javascript

我有一個帶有虛擬信息的json對象。 我想要通過顯示標題和描述來顯示我的數據。 當我循環瀏覽信息時,它會顯示3個標題,然后顯示3個描述。 我只想標題說明,標題說明,標題說明。 我究竟做錯了什么? 以下是我的json數據和我的循環

樣本數據

{
  "sample": {
    "insurance": {

      "keyWord": "insurance",
      "definition": "some brief shit talk on what it is that we can do",

      "data": [{
        "link": "http://placehold.it/350x350",
        "title": "this is a title",
        "img": "http://placehold.it/350x350",
        "desc": "Cras ultricies ligula sed magna dictum porta. Proin eget tortor risus. Vivamus suscipit tortor eget felis porttitor volutpat. "
      }, {
        "link": "http://placehold.it/350x350",
        "title": "this is a title3",
        "img": "http://placehold.it/350x350",
        "desc": "Cras ultricies ligula sed magna dictum porta. Proin eget tortor risus. Vivamus suscipit tortor eget felis porttitor volutpat. "
      }, {
        "link": "http://placehold.it/350x350",
        "title": "this is a titl4",
        "img": "http://placehold.it/350x350",
        "desc": "Cras ultricies ligula sed magna dictum porta. Proin eget tortor risus. Vivamus suscipit tortor eget felis porttitor volutpat. "
      }, {
        "link": "http://placehold.it/350x350",
        "title": "this is a title5",
        "img": "http://placehold.it/350x350",
        "desc": "Cras ultricies ligula sed magna dictum porta. Proin eget tortor risus. Vivamus suscipit tortor eget felis porttitor volutpat. "
      }]
    },
    "cover": {
      "keyWord": "cover",
      "definition": "some brief shit talk on what it is that we can do",

      "data": [{
        "link": "http://placehold.it/350x350",
        "title": "this is a title",
        "img": "http://placehold.it/350x350",
        "desc": "Cras ultricies ligula sed magna dictum porta. Proin eget tortor risus. Vivamus suscipit tortor eget felis porttitor volutpat. "
      }, {
        "link": "http://placehold.it/350x350",
        "title": "this is a title2",
        "img": "http://placehold.it/350x350",
        "desc": "Cras ultricies ligula sed magna dictum porta. Proin eget tortor risus. Vivamus suscipit tortor eget felis porttitor volutpat. "
      }]
    },
    "damage": {
      "keyWord": "damage",
      "definition": "some brief shit talk on what it is that we can do",

      "data": [{
        "link": "http://placehold.it/350x350",
        "title": "this is a title",
        "img": "http://placehold.it/350x350",
        "desc": "Cras ultricies ligula sed magna dictum porta. Proin eget tortor risus. Vivamus suscipit tortor eget felis porttitor volutpat. "
      }, {
        "link": "http://placehold.it/350x350",
        "title": "this is a title2",
        "img": "http://placehold.it/350x350",
        "desc": "Cras ultricies ligula sed magna dictum porta. Proin eget tortor risus. Vivamus suscipit tortor eget felis porttitor volutpat. "
      }]
    },
    "water": {
      "keyWord": "water",
      "definition": "some brief shit talk on what it is that we can do",

      "data": [{
        "link": "http://placehold.it/350x350",
        "title": "this is a title",
        "img": "http://placehold.it/350x350",
        "desc": "Cras ultricies ligula sed magna dictum porta. Proin eget tortor risus. Vivamus suscipit tortor eget felis porttitor volutpat. "
      }, {
        "link": "http://placehold.it/350x350",
        "title": "this is a title2",
        "img": "http://placehold.it/350x350",
        "desc": "Cras ultricies ligula sed magna dictum porta. Proin eget tortor risus. Vivamus suscipit tortor eget felis porttitor volutpat. "
      }]
    },
    "theft": {
      "keyWord": "water",
      "definition": "some brief shit talk on what it is that we can do",

      "data": [{
        "link": "http://placehold.it/350x350",
        "title": "this is a title",
        "img": "http://placehold.it/350x350",
        "desc": "Cras ultricies ligula sed magna dictum porta. Proin eget tortor risus. Vivamus suscipit tortor eget felis porttitor volutpat. "
      }, {
        "link": "http://placehold.it/350x350",
        "title": "this is a title2",
        "img": "http://placehold.it/350x350",
        "desc": "Cras ultricies ligula sed magna dictum porta. Proin eget tortor risus. Vivamus suscipit tortor eget felis porttitor volutpat. "
      }]
    }
  }
}

JS代碼

var applyAssets = function(asset, a) {
  var assetsLi = document.getElementById('assetsLi')
  var assetsDesc = document.getElementById('assetsDesc')
  var assets__list = document.getElementById('assets__list')

  for (key in asset) {

    if (key === a) {
      var assetKey = asset[key];
      assetsDesc.innerHTML = assetsDesc.innerHTML + '<div class="assets__description--inner"> <span class="phrase">' + assetKey.keyWord + '</span> <span class="definition">Definition:</span> <i>' + assetKey.definition + '</i> <div class="close"> <button type="button" id="closeAsset" name="button">X</button> </div> </div>'

      for (n in assetKey.data) {
        assets__list.innerHTML = assets__list.innerHTML + ' <li><a href="' + assetKey.data[n].link + '"> <div class="grid__full-width"> <img src="' + assetKey.data[n].img + '" alt="' + assetKey.data[n].title + '" /> </div> <h3>' + assetKey.data[n].title + '</h3> <p>' + assetKey.data[n].desc + '</p> </a></li></div>'
      }
    }
  }
}

您可以使用jQuery.each:

$.each(asset, function(i, elem) {
    $.each(elem.data, function(j, item) {
       var title = item.title; 
       var desc = item.desc;
        //build html
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM