繁体   English   中英

从JavaScript列表中的对象获取数据属性

[英]Get data attributes from object in list in 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 )创建的。

我从未使用过该库,但只是检查了库,发现每个项目对象在el属性中都有它的DOM节点。 因此我们可以通过以下方式设置数据:

    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');
    }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM