performance - 获取多个子项中的数据属性

标签 performance jquery

我有这个问题:多个类,每个类中有多个跨度,并且想要提取第一个类的所有数据属性。

<div class="parent_class">
 <span data-year="a_1">Data</span>
 <span data-make="b_1">Data</span>
 <span data-model="c_1">Data</span>
 <span data-motor="d_1">Data</span>
</div>

<div class="parent_class">
  <span data-year="a_2">Data 2</span>
  <span data-make="b_2">Data 2</span>
  <span data-model="c_2">Data 2</span>
  <span data-motor="d_2">Data 2</span>
</div>

我进行了多次尝试,刚刚获得了第一个数据属性,没有问题。

var year_response = $('.parent_class:first span').data('year');

   Response:
   year_response = a1;

但是当我尝试使用 make 和其他数据属性时,我得到了未定义

Actual:
var make_response = $('.parent_class:first span').data('make');

**Response: 
make_response = undefined;**

Desire:
var make_response = $('.parent_class:first span').data('make');

**Response: 
make_response = b_1;**

最佳答案

如何将跨度的所有数据属性作为对象获取并将它们映射到数组:

var data = $.map($('.parent_class:first span'), function(el) {
    return $(el).data();
});

FIDDLE

如果所有数据属性都不同,则为对象:

var data = {};

$.each($('.parent_class:first span'), function(i, el) {
    $.each($(el).data(), function(k,v) {data[k] = v});
});

FIDDLE

关于performance - 获取多个子项中的数据属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20361224/

相关文章:

java - System.currentTimeMillis() 的巨大差异

javascript - 在 JavaScript 中处理点/小向量的最有效方法是什么?

javascript - 如何编写 jquery js.erb 以同时为 link_to :remote => in rails 3? 提供 html 和 ruby​​ 输出

jquery - 如何自定义 Bootstrap 模式,如 tinybox js 弹出窗口

javascript - 如何使用 jQuery 将值存储在 Session 中?

在 ASP.NET 中使用 bundle 呈现 JQuery 脚本

javascript - 为什么 trim() 不与 $.each 一起删除字符串数组中的空格

sql - 如何优化查询以计算行相关的日期时间关系?

c++ - 我怎样才能最好地提高双三次插值算法的执行时间?

python - 练习程序性能优化