javascript - 如何将 jQuery 函数存储在对象中以供以后访问?

标签 javascript jquery

我有这个 jQuery 函数:

$('.time_tracker').each(function() {

  var hours, minutes, seconds;

  ...

});

有没有办法将每个函数调用的结果存储在一个对象中,以便我稍后可以再次访问诸如小时之类的变量?

最佳答案

详细阐述@Terry的注释中,您可以在 each() 函数中使用以下代码:

$(this).data({
    "hours", hours,
    "minutes", minutes,
    "seconds", seconds
});

这将使用键/值对将变量值添加到 .time_tracker 的数据属性中。

The data-* attributes is used to store custom data private to the page or application.

The data-* attributes gives us the ability to embed custom data attributes on all HTML elements.

为了访问每个 .time_tracker 中的数据,您需要为每个 .time_tracker 元素分配一个唯一的 ID。然后,您可以使用以下方法从任何地方访问这些值:

$('.time_tracker#time_tracker_1').data('hours');
$('.time_tracker#time_tracker_1').data('minutes');
$('.time_tracker#time_tracker_1').data('seconds');

如果您想省去手动向每个 .time_tracker 添加唯一 ID 的麻烦,您可以使用 jQuery 分配一个唯一 ID,如下所示:

for (i = 0; i < $('.time_tracker').length(); i++) {
        $(this).attr('id', 'time_tracker_' + i);
        var hours, minutes, seconds;
}

关于javascript - 如何将 jQuery 函数存储在对象中以供以后访问?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50281173/

相关文章:

javascript - 遍历 DOM 对象以查找特定元素

javascript - 关注ajax生成的文本框

javascript - 使用 Dojo AMD 加载器加载 jQuery 问题

javascript - 如何使用 BING map api 获取城市和州?

javascript - 为什么我的 jquery 会重置?

javascript - 无法在 chrome - js 中获取音频持续时间

javascript - 未使用的 DOM 元素会怎样?

javascript - jQuery 选择器适用于 Javascript 代码之后出现的选择器吗?

jQuery Live 正则表达式检查

javascript - 如何更改 google 可视化表及其列的 css 属性?