2016-11-10 69 views
0

林试图将该变量设置为一个功能,并设置变量的值将这个函数的输出,但我不能把我的手指上如何抓住正确的输出:将变量设置为jQuery中的函数值?

var prev = activeSection.prevAll(); 

var about = prev.each(function(){ 
    $(this).data('about'); 
}) 

现在.data FUNC的值是我想要设置about var的值,但是当我记录about var时,我只是获得了prev var的所有元素,而不是每个元素的.data('about'),这是我的愿望。

我知道我离开这么短暂的事情......建议?

回答

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); 
}); 
+0

这里有很好的选择!欣赏它 –

+0

如果我想检查某个特定元素元素有一个匹配数组中的任何返回的类? –

1

你必须将数据值映射到获取值

var prev = activeSection.prevAll(); 

var about = prev.map(function(){ 
    return $(this).data('about'); 
}).get(); 
+0

太棒了!很简单!希望我可以接受这两个答案:( –

+0

如果我想要检查某个元素是否具有与数组中的任何返回匹配的类,该怎么办? –