我试图将此变量设置为一个函数,并将变量的值设置为该函数的输出,但我不能指出如何正确获取输出:
var prev = activeSection.prevAll();
var about = prev.each(function(){
$(this).data('about');
})
现在.data
func的值是我想要设置about
var的值,但是当我记录about
var时,我只获取所有元素prev
var,而不是我想要的.data('about')
。
我知道我已经被一些如此微小的东西......建议?
答案 0 :(得分:1)
您必须映射数据值以获取值数组
var prev = activeSection.prevAll();
var about = prev.map(function(){
return $(this).data('about');
}).get();
答案 1 :(得分:1)
您正在使用的jQuery .each
函数只是迭代元素。您没有将它们添加到列表中,因此您的价值不会发生任何变化。
您可以按如下方式修改现有代码,将值添加到数组中:
var prev = activeSection.prevAll();
var about = [];
prev.each(function(){
about.push($(this).data('about'));
});
或者,您可以使用jQuery map
作为adeneo注明,或者您可以在非jQuery forEach
循环中执行此操作。
var prev = activeSection.prevAll();
var about = [];
prev.forEach(function() {
var val = $(this).data('about');
about.push(val);
});