2015-10-08 68 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'); 
    }