我如何 select javaScript 中的所有 类 具有相同的类名?
How can I select the all classes in javaScript with same classname?
你能帮我解决这个问题吗?第一个 div 的 bg-color 只是改变了,但其余的都不起作用帮我解决这个问题!
const hexNum = [0,1,2,3,4,5,6,7,8,'A','B','C','D','E','F'];
const hexBtn = document.querySelector('.btn-hex');
const bgPale = document.querySelector('.bg-color');
const hexCode = document.querySelector('.color-code');
hexBtn.addEventListener('click', getNewHex);
function getNewHex(){
let newHexCode = '#';
for (let i = 0; i<6; i++){
let randomHex = Math.floor(Math.random()*hexNum.length);
newHexCode +=hexNum[randomHex];
//console.log(newHexCode);
}
bgPale.style.backgroundColor = newHexCode;
hexCode.innerHTML = newHexCode
}
<div class="bg-color palette-1"></div>
<div class="bg-color palette-2"></div>
<div class="bg-color palette-3"></div>
这里的问题是您使用的是 document.querySelector('.bg-color')
,returns 文档中与指定选择器或选择器组匹配的第一个元素。您需要在此处实际使用 document.querySelectorAll('.bg-color')
而不是 returns 一个 NodeList,表示与指定的选择器组匹配的文档元素列表。然后您还需要遍历每个节点以更改样式,例如:
const bgPale = document.querySelectorAll('.bg-color')
bgPale.forEach(el => el.style.backgroundColor = newHexCode);
更多信息:
你能帮我解决这个问题吗?第一个 div 的 bg-color 只是改变了,但其余的都不起作用帮我解决这个问题!
const hexNum = [0,1,2,3,4,5,6,7,8,'A','B','C','D','E','F'];
const hexBtn = document.querySelector('.btn-hex');
const bgPale = document.querySelector('.bg-color');
const hexCode = document.querySelector('.color-code');
hexBtn.addEventListener('click', getNewHex);
function getNewHex(){
let newHexCode = '#';
for (let i = 0; i<6; i++){
let randomHex = Math.floor(Math.random()*hexNum.length);
newHexCode +=hexNum[randomHex];
//console.log(newHexCode);
}
bgPale.style.backgroundColor = newHexCode;
hexCode.innerHTML = newHexCode
}
<div class="bg-color palette-1"></div>
<div class="bg-color palette-2"></div>
<div class="bg-color palette-3"></div>
这里的问题是您使用的是 document.querySelector('.bg-color')
,returns 文档中与指定选择器或选择器组匹配的第一个元素。您需要在此处实际使用 document.querySelectorAll('.bg-color')
而不是 returns 一个 NodeList,表示与指定的选择器组匹配的文档元素列表。然后您还需要遍历每个节点以更改样式,例如:
const bgPale = document.querySelectorAll('.bg-color')
bgPale.forEach(el => el.style.backgroundColor = newHexCode);
更多信息: