我有一个返回多个元素的选择器$(".status")
。我在每个元素上都设置了数据选项。
$(".status").each(function (e) {
e.data('options')
});
这给我一个错误undefined is not a function
。
如果它有助于我使用Marionette,也尝试了this.ui.status
哈希数组,但结果相同。
答案 0 :(得分:4)
each
函数中的第一个参数是匹配选择中元素的索引。
.each(功能) 功能 类型:函数(整数索引,元素元素) 为每个匹配元素执行的函数。 你需要使用:
因此,您需要将e作为第二个参数传递,将index作为第一个参数传递。或者,而是使用this
来访问当前对象
$(".status").each(function(e){
alert($(this).data('options'));
});
答案 1 :(得分:2)
.each()有2个参数,1是当前元素的索引,2是当前元素的dom元素引用。
$(".status").each(function (i, e) {
$(e).data('options')
});
此外,您需要访问元素的jQuery包装器,通过将其传递给jQuery