Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在jQuery中将变量设置为函数值?_Jquery_Function - Fatal编程技术网

在jQuery中将变量设置为函数值?

在jQuery中将变量设置为函数值?,jquery,function,Jquery,Function,我正在尝试将此变量设置为函数,并将变量的值设置为该函数的输出,但我无法确定如何正确获取输出: var prev = activeSection.prevAll(); var about = prev.each(function(){ $(this).data('about'); }) 现在,.datafunc的值是我想要将关于变量设置为的值,但是当我记录关于变量时,我只得到上一个变量的所有元素,而不是我想要的每个变量的.data('about') 我知道我有点不对劲,所以。。。建

我正在尝试将此变量设置为函数,并将变量的值设置为该函数的输出,但我无法确定如何正确获取输出:

var prev = activeSection.prevAll();

var about = prev.each(function(){ 
     $(this).data('about');
})
现在,
.data
func的值是我想要将
关于
变量设置为的值,但是当我记录
关于
变量时,我只得到
上一个
变量的所有元素,而不是我想要的每个变量的
.data('about')


我知道我有点不对劲,所以。。。建议?

您必须映射数据值以获得一个值数组

var prev = activeSection.prevAll();

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

您必须映射数据值才能获得一个值数组

var prev = activeSection.prevAll();

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

jQuery
。您正在使用的每个
函数都只是迭代元素。您没有将它们添加到列表中,因此您的值不会发生任何变化

您可以按如下方式修改现有代码,以将值添加到数组中:

var prev = activeSection.prevAll();

var about = [];
prev.each(function(){ 
     about.push($(this).data('about'));
});
或者,您可以使用adeneo提到的jQuery
map
,也可以在非jQuery
forEach
循环中执行此操作

var prev = activeSection.prevAll();

var about = [];
prev.forEach(function() {
  var val = $(this).data('about');
  about.push(val);
});

jQuery
。您正在使用的每个
函数都只是迭代元素。您没有将它们添加到列表中,因此您的值不会发生任何变化

您可以按如下方式修改现有代码,以将值添加到数组中:

var prev = activeSection.prevAll();

var about = [];
prev.each(function(){ 
     about.push($(this).data('about'));
});
或者,您可以使用adeneo提到的jQuery
map
,也可以在非jQuery
forEach
循环中执行此操作

var prev = activeSection.prevAll();

var about = [];
prev.forEach(function() {
  var val = $(this).data('about');
  about.push(val);
});

这里有很多选择!如果我想检查某个元素是否有一个类与数组中的任何返回值相匹配,那该怎么办?这里的选项很棒!如果我想检查某个元素是否有与数组中的任何返回匹配的类,那该怎么办?太好了!非常简单!希望我能接受这两个答案:(如果我想检查某个元素是否有一个类与数组中的任何一个返回匹配呢?太好了!非常简单!希望我能接受这两个答案:(如果我想检查某个元素是否有一个类与数组中的任何一个返回匹配呢?)?