循环遍历数据属性并创建数组

时间:2014-11-17 18:02:26

标签: jquery arrays foreach attributes

我有很多div元素,而这些元素又有很多数据属性。

对于每个元素,我想构建一个包含数据属性的名称和值的数组。

我的代码如下: -

$( "#"+progWindowID ".newItem" ).each( function() {
  var itemData = {
    elemCategory   : $(this).attr( 'data-Category' ),
    elemType       : $(this).attr( 'data-Type' ),
    elemName       : $(this).attr( 'data-Name' ),
    elemTop        : $(this).attr( 'data-Top' ),
    elemLeft       : $(this).attr( 'data-Left' ),
    elemHeight     : $(this).attr( 'data-Height' ),
    elemWidth      : $(this).attr( 'data-Width' ),
    elemCreatedBy  : $(this).attr( 'data-CreatedBy' ),
    elemCreatedOn  : $(this).attr( 'data-CreatedOn' )
  };
}

我可以使用每个数据属性的名称作为数组中的键来遍历数据属性来构建数组吗?然后,当我稍后添加更多数据属性时,我的代码仍然有用。

1 个答案:

答案 0 :(得分:3)

只需执行$(obj).data();它就会为您提供属性的哈希值。

示例:

 $( "#"+progWindowID ".newItem" ).each( function() {
   var itemData = $(this).data();
  });

jQuery文档:http://api.jquery.com/data/