我有这个 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/