【问题标题】:Loop through data attributes and create an array循环遍历数据属性并创建一个数组
【发布时间】:2014-11-17 18:02:25
【问题描述】:

我有许多 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' )
  };
}

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

【问题讨论】:

    标签: jquery arrays foreach attributes


    【解决方案1】:

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

    例子:

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

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

    【讨论】:

    • 是的,简单的哈希操作就可以解决这个问题,但是按照他的意图,这会起作用。
    • 酷@Zach,我将简单地将“elem”放在我的数据键前面!并感谢您提供文档链接
    猜你喜欢
    • 1970-01-01
    • 2018-07-17
    • 1970-01-01
    • 2014-11-26
    • 2023-03-23
    • 1970-01-01
    • 1970-01-01
    • 2017-10-27
    • 1970-01-01
    相关资源
    最近更新 更多