Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/365.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/15.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
Javascript 如何在jquery中对for循环求和?_Javascript_Jquery_Html - Fatal编程技术网

Javascript 如何在jquery中对for循环求和?

Javascript 如何在jquery中对for循环求和?,javascript,jquery,html,Javascript,Jquery,Html,我需要显示来自两个动态div的值的总和,但下面我提到了div的静态版本。 任何人都可以帮我解决这个小小的jquery难题: $(文档).ready(函数(){ arr=$('#cover div p').map(函数(){ 返回$(this.html(); }); 对于(i=0;idiv>p').map(函数(){ 返回$(this.html(); }); var-res=0; 对于(i=0;i

我需要显示来自两个动态div的值的总和,但下面我提到了div的静态版本。 任何人都可以帮我解决这个小小的jquery难题:

$(文档).ready(函数(){
arr=$('#cover div p').map(函数(){
返回$(this.html();
});
对于(i=0;i
滑块
{
背景颜色:蓝色;
颜色:白色;
填充物:5px10px;
利润率:10px;
}
#结果总计
{
背景颜色:绿色;
填充:20px 10px;
利润率:10px;
颜色:白色;
}

100

200


这里有几个问题。首先,在使用
map()
时,应该调用
get()
,只获取返回的值数组,而不是整个jQuery对象集合

其次,当您首先将
res
设置为数组中的值,然后重新定义
res
并再次将值添加到数组中时,您将使总数翻倍。。。出于某种原因。你也在毫无理由地循环两次;一次创建数组,然后再次通过数组。只需循环一次

最后,在处理动态内容时,您需要在添加元素后执行此求和逻辑。因此,将其放置在函数中,并在必要时调用它

实现这一点的最简单方法是在
each()
循环中创建一个
total
变量,该变量随
p
的文本值递增,如下所示:

$(文档).ready(函数(){
//添加dymamic.slider p元素后:
calculateAndDisplayTotal();
});
函数calculateAndDisplayTotal(){
var合计=0;
$(#封面分区p')。每个(功能(){
total+=parseInt($(this).text(),10);
});
$('resultTotal')。文本(总计);
}
滑块{
背景颜色:蓝色;
颜色:白色;
填充物:5px10px;
利润率:10px;
}
#结果总计{
背景颜色:绿色;
填充:20px 10px;
利润率:10px;
颜色:白色;
}

100

200

工作示例

$(文档).ready(函数(){
arr=$('#cover>div>p').map(函数(){
返回$(this.html();
});
var-res=0;
对于(i=0;i

100

200


OP提到这是“两个动态div”,我认为这意味着它们将在加载DOM后添加到DOM中。这个代码能解释这个吗?它不能。但是,需要更改的只是将逻辑放入函数中,然后在将
.slider p
元素添加到DOM后调用该函数。我对问题进行了编辑,以显示一个更合适的示例,谢谢。实际上,在使用OP的
for
loop@charlietfl同意,但OP也在使用
map()
Right,但结果对象确实有长度。这不是一个关键问题…在OP的情况下是双向的