JavaScript:创建元素后不能立即选择它们吗?
我的脚本包含导致我出现问题的以下代码:JavaScript:创建元素后不能立即选择它们吗?,javascript,hoisting,nodelist,Javascript,Hoisting,Nodelist,我的脚本包含导致我出现问题的以下代码: btn.addEventListener('click', ()=> { if (!gamePlay) { setup() let word=document.querySelectorAll('box') console.log(word) btn.classList.toggle('hidden') gamePlay=true } }) 代码的重置可以在这个JS提琴上看到。顺便说一下,不要介意注释
btn.addEventListener('click', ()=> {
if (!gamePlay) {
setup()
let word=document.querySelectorAll('box')
console.log(word)
btn.classList.toggle('hidden')
gamePlay=true
}
})
代码的重置可以在这个JS提琴上看到。顺便说一下,不要介意注释掉的代码:
在函数设置中创建了所有div元素之后,我试图通过它们的类名框来选择它们,但是该部分中的节点列表是一个空的节点列表,也显示在控制台中
我假设代码是同步的。我似乎无法访问通过调用setup创建的元素。您可以在创建文档元素后立即访问和查询它们 这里的问题是选择器语法不正确;要使用box类选择元素,请在选择器前面加上前缀:
btn.addEventListener('click', () => {
if (!gamePlay) {
setup();
let word = document.querySelectorAll('.box'); // Prefix .
console.log(word);
btn.classList.toggle('hidden');
gamePlay = true;
}
})
您可以在创建文档元素后立即访问和查询它们 这里的问题是选择器语法不正确;要使用box类选择元素,请在选择器前面加上前缀:
btn.addEventListener('click', () => {
if (!gamePlay) {
setup();
let word = document.querySelectorAll('.box'); // Prefix .
console.log(word);
btn.classList.toggle('hidden');
gamePlay = true;
}
})