JavaScript: 不能在创建元素后立即 select 个元素吗?
JavaScript: can't immediately select elements after creating them?
我的脚本包含以下导致我出现问题的代码:
btn.addEventListener('click', ()=> {
if (!gamePlay) {
setup()
let word=document.querySelectorAll('box')
console.log(word)
btn.classList.toggle('hidden')
gamePlay=true
}
})
代码的重置可以看这个JSfiddle(不介意顺便注释掉的代码):https://jsfiddle.net/apasric4/6k7anpvu/1/
在函数 setup()
中创建了所有 div
元素之后,我试图通过 class 名称 select 它们 (box
)但是该部分的节点列表是一个空节点列表(也显示在控制台中)。
我假设代码是同步的。我似乎无法访问通过调用 setup()
.
创建的元素
您可以在创建文档元素后立即对其进行访问和查询。
这里的问题是你select或者语法不正确; select box
class 的元素,在 select 或“.”前加上前缀:
btn.addEventListener('click', () => {
if (!gamePlay) {
setup();
let word = document.querySelectorAll('.box'); // Prefix .
console.log(word);
btn.classList.toggle('hidden');
gamePlay = true;
}
})
我的脚本包含以下导致我出现问题的代码:
btn.addEventListener('click', ()=> {
if (!gamePlay) {
setup()
let word=document.querySelectorAll('box')
console.log(word)
btn.classList.toggle('hidden')
gamePlay=true
}
})
代码的重置可以看这个JSfiddle(不介意顺便注释掉的代码):https://jsfiddle.net/apasric4/6k7anpvu/1/
在函数 setup()
中创建了所有 div
元素之后,我试图通过 class 名称 select 它们 (box
)但是该部分的节点列表是一个空节点列表(也显示在控制台中)。
我假设代码是同步的。我似乎无法访问通过调用 setup()
.
您可以在创建文档元素后立即对其进行访问和查询。
这里的问题是你select或者语法不正确; select box
class 的元素,在 select 或“.”前加上前缀:
btn.addEventListener('click', () => {
if (!gamePlay) {
setup();
let word = document.querySelectorAll('.box'); // Prefix .
console.log(word);
btn.classList.toggle('hidden');
gamePlay = true;
}
})