Jquery 数组和数据属性
Jquery Array and Data Attributes
为什么我在使用 Jquery select 后无法访问对象中的 .data() 或 .attr()?
这是问题所在,我有一组分配给它们的特定 class 的 div。我想 select 使用 Jquery 的所有 div 并将它们分配给一个数组,然后解析该数组并查看每个数据属性以找到某些值。
<div class="Divs" data-eventid="1"></div>
<div class="Divs" data-eventid="2"></div>
<div class="Divs" data-eventid="3"></div>
The Following 获取与 selector 匹配的元素列表,并将它们分配给事件。
var events = [];
$('.Divs').each(function () {
events.push($(this));
});
出于解释原因,变量 {n1, n2, n3} 被分解
$.each(events, function(idx, val){
var n1 = events[idx];
var n2 = n1[0];
var n3 = n2.data(); // **.data() is Undefined
});
当我尝试解析数组并提示不支持/未定义 .data() 或 .attr() 时?
但如果我执行以下操作,它会正常工作
$('.Divs').each(function () {
var getIdValue = $(this).attr('eventid'); // Works;
var getIdValue2 = $(this.data('eventid'); // works;
)};
只是想知道为什么一个有效而另一个无效。
检查这个:
应该是:var n3 = $(n2).data();
这是因为,n2
指的是div
。您需要使用 jQuery 引用来获取其 data()
.
检查控制台,当你的运行 fiddle..你会得到更多的想法。
为什么我在使用 Jquery select 后无法访问对象中的 .data() 或 .attr()?
这是问题所在,我有一组分配给它们的特定 class 的 div。我想 select 使用 Jquery 的所有 div 并将它们分配给一个数组,然后解析该数组并查看每个数据属性以找到某些值。
<div class="Divs" data-eventid="1"></div>
<div class="Divs" data-eventid="2"></div>
<div class="Divs" data-eventid="3"></div>
The Following 获取与 selector 匹配的元素列表,并将它们分配给事件。
var events = [];
$('.Divs').each(function () {
events.push($(this));
});
出于解释原因,变量 {n1, n2, n3} 被分解
$.each(events, function(idx, val){
var n1 = events[idx];
var n2 = n1[0];
var n3 = n2.data(); // **.data() is Undefined
});
当我尝试解析数组并提示不支持/未定义 .data() 或 .attr() 时?
但如果我执行以下操作,它会正常工作
$('.Divs').each(function () {
var getIdValue = $(this).attr('eventid'); // Works;
var getIdValue2 = $(this.data('eventid'); // works;
)};
只是想知道为什么一个有效而另一个无效。
检查这个:
应该是:var n3 = $(n2).data();
这是因为,n2
指的是div
。您需要使用 jQuery 引用来获取其 data()
.
检查控制台,当你的运行 fiddle..你会得到更多的想法。