2015-10-08 119 views
0

我有對象獲取數據從對象屬性列表中的JavaScript

[Object, Object, Object] 

每個對象的列表中有

Object {x: 1, y: 0, width: 4, height: 5, max_width: undefined…} 

和其他一些參數。每個對象是具有數據屬性<div id="panel" data-panel-id="2"><div>元素。我怎樣才能得到data-panel-id的價值?

我已經試過

items.forEach(function (item) { 
    console.log(item); 
    console.log(item.el); 
    console.log(item.el.firstNode); 
    console.log(item.el.firstNode.dataset); 

我想,如果我用document.getElementById("panel").dataset.panelId但我的列表中包含的對象,而不是HTML元素,所以我不知道怎麼做了它的工作。

我的對象列表是通過onChange偵聽器中的gridstack.js庫(https://github.com/troolee/gridstack.js)創建的。

回答

1

我從來沒有在這個庫上工作,但我只是檢查了庫,發現每個項目對象都有它的DOM節點el屬性。所以我們可以按以下方式設置數據:

items.forEach(function (item) { 
    var panelId = item.el[0].dataset['panelId'] //el[0] --> Since el is a jQuery object we need to get it's javascript object. 

    //If you want to use jQuery: 
    var panelId = item.el.data('panelId'); 
    }