Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/79.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 对于由所有整数生成的值,我不断得到NaN_Javascript_Jquery - Fatal编程技术网

Javascript 对于由所有整数生成的值,我不断得到NaN

Javascript 对于由所有整数生成的值,我不断得到NaN,javascript,jquery,Javascript,Jquery,我正在尝试编写一个基于jQuery的数学程序,它将显示并平均我的测验分数。除了在我的for循环中我有: specQuizTotalValue += total; 对于全局设置为0的变量“specQuizTotalValue” 出于某种原因,我不断得到specQuizTotalValue的NaN,即使每次迭代中的typeof以及全局定义返回“number”。我还试着推一个数组,经过两次迭代,我得到了[NaN,16,36](16和36是正确的值) 这是小提琴- var specQuizUL=$(

我正在尝试编写一个基于jQuery的数学程序,它将显示并平均我的测验分数。除了在我的for循环中我有:

specQuizTotalValue += total; 
对于全局设置为0的变量“specQuizTotalValue”

出于某种原因,我不断得到specQuizTotalValue的NaN,即使每次迭代中的typeof以及全局定义返回“number”。我还试着推一个数组,经过两次迭代,我得到了[NaN,16,36](16和36是正确的值)

这是小提琴-

var specQuizUL=$('specqui')。长度;
var specQuizTotalValue=0;
对于(i=0;i,不基于0。在第一次迭代中

$('#specQuiz ul:nth-child(0) li:nth-child(2)')
将导致一个空的jQuery对象,因此
.html()
将返回
未定义的
parseInt(未定义)
返回
NaN

将您的
for
循环更改为从1开始:

for(i = 1; i <= specQuizUL; i++) {

for(i=1;i这一行是您的问题:

var pretot = $('#specQuiz ul:nth-child(' + i + ') li:nth-child(3)').html();
    console.log(i,pretot,parseInt(pretot));
var total = parseInt(pretot);

i
为0时,
pretot
undefined
,因为特定选择器没有选择任何内容。因此当
pretot
为undefined时,
parseInt(pretot)
的计算结果为
NaN
,累积总数中的一个
NaN
值将毁掉整个总数。

FYI,
NaN
是一个数值,不管它的名称如何。从
1开始循环。我实际上是从1开始的,后来减去1-这仍然不能完全回答我的问题,但我找到了答案使用信息!第n个子选择器是故意使用的,并且正在选择正确的li元素,但是对于ul,我必须切换到eq()-结合在1开始我的循环!谢谢大家!!-这里更新了fiddle:如果其他人正在阅读此文档以获得类似问题的帮助!
var pretot = $('#specQuiz ul:nth-child(' + i + ') li:nth-child(3)').html();
    console.log(i,pretot,parseInt(pretot));
var total = parseInt(pretot);