Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/70.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为什么我的全局数组变为空?Console.log会短暂显示正确的值_Javascript_Jquery - Fatal编程技术网

JavaScript为什么我的全局数组变为空?Console.log会短暂显示正确的值

JavaScript为什么我的全局数组变为空?Console.log会短暂显示正确的值,javascript,jquery,Javascript,Jquery,我不知道这里到底出了什么问题,我相信这很简单,但要找到它并不容易,所以如果其他地方已经回答了这个问题,我很抱歉 情况: 我在js文件顶部声明了一个全局数组: var question_ids = []; 数组获取一些值: $(".quiz-game-container .row").each(function(loop_index) { question_ids.push($(this).attr('id')); } 现在我想显示一个计数器,它具有数组的长度: $(document)

我不知道这里到底出了什么问题,我相信这很简单,但要找到它并不容易,所以如果其他地方已经回答了这个问题,我很抱歉

情况:

我在js文件顶部声明了一个全局数组:

var question_ids = [];
数组获取一些值:

$(".quiz-game-container .row").each(function(loop_index) {
    question_ids.push($(this).attr('id'));
}
现在我想显示一个计数器,它具有数组的长度:

$(document).ready(function() {
    // Sets the question info how many questions in total
    console.log(question_ids.length);
    $(".quiz-game-container .quiz-container .current-question-number").html("1/", question_ids.length);
});
问题

奇怪的是,我在browser developer控制台中看到了正确的console.log输出(长度为10),但它在1秒后消失(可能在加载所有内容时),并且没有任何值,我在html视图中得到
1/

下面是正在消失的console.log的一个实例:

点击刷新按钮
F5
并查看控制台,console.log输出将显示片刻,然后消失

编辑

点击刷新按钮
F5
并查看控制台,console.log输出将显示一段时间,然后消失

这似乎是一个浏览器问题。它在FireFox上运行良好。

更换此部件

.html("1/", question_ids.length)

更换此部件

.html("1/", question_ids.length)

替换
(“1/”,问题长度)
与:
(“1/”+问题长度)
。 您希望联接两个变量,而不是将两个值赋给
.html()
函数。

替换
(“1/”,question\u id.length)
与:
(“1/”+问题长度)

您希望联接两个变量,而不是将两个值赋给
.html()
函数。

$。html只接受一个参数:

更改此项:

.html("1/", question_ids.length);
为此:

.html("1/" + question_ids.length);

$.html只接受一个参数:

更改此项:

.html("1/", question_ids.length);
为此:

.html("1/" + question_ids.length);


缺少一些代码。数组是如何用值填充的?@Pointy您有
question_id.push($(this.attr('id'))$(“.quick game container.quick container.current question number”).html(“1/”+question_id.length);尝试使用
.text(“1/”+疑问词\u id.length)
它消失是什么意思?您使用的是哪种浏览器?通常,当你刷新页面时,控制台会被清空。缺少一些代码。数组是如何用值填充的?@Pointy您有
question_id.push($(this.attr('id'))$(“.quick game container.quick container.current question number”).html(“1/”+question_id.length);尝试使用
.text(“1/”+疑问词\u id.length)
它消失是什么意思?您使用的是哪种浏览器?通常,刷新页面时控制台会被清除。为什么会有帮助?因为,是方法参数的分隔符而不是连接运算符。为什么会有帮助?因为,是方法参数的分隔符而不是连接运算符。谢谢!但是为什么console.log输出消失了呢?谢谢!但是为什么console.log输出消失了呢?谢谢!但是为什么console.log输出会消失呢?它不能从控制台消失。你这是什么意思?对我来说它并没有消失。你使用什么浏览器?我使用Chrome浏览器,在firefox上,输出保持不变。这似乎是一个浏览器问题。我已经用Chrome和Firefox进行了测试,它们都能正常工作。谢谢!但是为什么console.log输出会消失呢?它不能从控制台消失。你这是什么意思?对我来说它并没有消失。你使用什么浏览器?我使用Chrome浏览器,在firefox上,输出保持不变。这似乎是一个浏览器问题。我已经用Chrome和Firefox进行了测试,它们都能正常工作。