Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/400.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/2/jquery/82.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 为什么我能';t指的是刚刚在另一个函数中创建的元素?_Javascript_Jquery_Dom_Null - Fatal编程技术网

Javascript 为什么我能';t指的是刚刚在另一个函数中创建的元素?

Javascript 为什么我能';t指的是刚刚在另一个函数中创建的元素?,javascript,jquery,dom,null,Javascript,Jquery,Dom,Null,我这里有两个操作函数,第一个,firstStartSlide(),创建一个#2-slideid的div并将其附加到文档中,第二个secondStartSlide()只是想引用#2-slide和控制台。记录它,但我不知道当我试图在另一个函数中引用它时,为什么会返回“null”或空对象 我知道我可以在firstStartSlide()中引用#2-slide,但我需要在secondStartSlide()中引用,但是secondStartSlide()或任何其他函数都无法识别它 有人知道为什么会发生这

我这里有两个操作函数,第一个,
firstStartSlide()
,创建一个
#2-slide
id的div并将其附加到文档中,第二个
secondStartSlide()
只是想引用
#2-slide
控制台。记录它,但我不知道当我试图在另一个函数中引用它时,为什么会返回“null”或空对象

我知道我可以在
firstStartSlide()
中引用
#2-slide
,但我需要在
secondStartSlide()
中引用,但是
secondStartSlide()
或任何其他函数都无法识别它

有人知道为什么会发生这个错误,我如何修复这个错误吗

const eachImageWidth=700;
const-eachImageHeight=360;
设指数=1;
//-----------------------------DOM元素创建者-------------------------------
功能家庭成员创造者(第n个){
让slideWrapperContainer=document.querySelector('.main');
let slide=document.querySelectorAll(“.img包装器”);
让imgWrapper=document.createElement('div');
imgWrapper.classList.add('img-wrapper');
imgWrapper.id=`${n}-slide`;
$('.main').append(imgWrapper);
}
//--------------图像创建器函数---------------------
函数createImages(第n个){
$(slideWrapperContainer).css('width','700px').css('height',eachImageHeight);
$(`${nth}-slide`)css('width','1400px');

对于(让i=1;我是在调用其他函数之前调用
firstStartSlide
?它是否成功创建了元素?一个好的开始是,代码有两个问题:(1)
#
不是ID的一部分,因此它应该是
document.getElementById('2-slide')
(2)
secondStartSlide
调用太早。它是在创建元素之前调用的。如果您修复ID选择器并将超时时间增加到
3*1500
,则您将看到元素记录到控制台。但是,这应该已经表明整个方法有问题。您不必依赖正确的代码运行时间。@FelixKling谢谢:)