4 回答

TA貢獻(xiàn)1852條經(jīng)驗 獲得超7個贊
最初,當(dāng)您的腳本導(dǎo)入到 中時<head>,它會嘗試找到您的按鈕,即使它尚未呈現(xiàn)!因此,您需要將腳本放在正文中,或者使用某種機(jī)制在準(zhǔn)備好的文檔上運行腳本。
因此,在正文中使用您的腳本可以解決您的問題 -
let button = document.getElementById('button');
let text = document.getElementById('text');
let body = document.querySelector('body');
let number = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 'A', 'B', 'C', 'D', 'E', 'F'];
button.addEventListener('click', colorChange);
function colorChange() {
? let hex = '#';
? for (let i = 0; i < 6; i++) {
? ? const index = Math.floor(Math.random() * number.length);
? ? hex += number[index];
? }
? text.textContent = hex;
? body.style.backgroundColor = hex;
}
<!DOCTYPE html>
<html>
<body>
? ? <h1 id="text">Background Color</h1>
? ? <button id="button">Change BG-Color</button>
? ? <script src="script.js"></script>
</body>
</html>
而且,標(biāo)簽中的一個小更新就是hmtl
使html

TA貢獻(xiàn)1802條經(jīng)驗 獲得超10個贊
它不起作用的原因是你沒有太注意你的代碼,再次閱讀你的教程。我更改的第一個代碼您忘記將類添加到主體中,但在 javascript 中您使用查詢選擇器調(diào)用它,而且在 for 循環(huán)中您錯誤地將值替換為 1 遞增,最后我發(fā)布的代碼不起作用我確定,因為您將 javascript 代碼復(fù)制到 javascript 文件,將 html 復(fù)制到 html 文件,并且忘記將 javascript 調(diào)用到 html 文件中,因為在我的代碼中,如果沒有一些錯誤或者如果在發(fā)布之前不會忘記任何事情

TA貢獻(xiàn)1868條經(jīng)驗 獲得超4個贊
這里for (let i=0; i<6; 1++)把1++改成i++。遞增是在 i 變量上完成的,并將在實際值 0 上加 1,然后將其傳遞給 1
addeventlistener中的alert函數(shù)在哪里找到
<!DOCTYPE html>
<hmtl>
<head>
<script src="script.js"></script>
</head>
<body>
<h1 id="text">Background Color</h1>
<button id="button">Change BG-Color</button>
<script>
let button = document.getElementById('button');
let text = document.getElementById('text');
let body = document.querySelector('body');
let number = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 'A', 'B', 'C', 'D', 'E', 'F'];
button.addEventListener('click', colorChange); //<-- not alert
function colorChange() {
let hex = '#';
for (var i = 0; i < 6; i++) { //<-- not 1++
const index = Math.floor(Math.random() * number.length);
hex += number[index];
}
text.textContent = hex;
body.style.backgroundColor = hex;
}
</script>
</body>
</hmtl>

TA貢獻(xiàn)1906條經(jīng)驗 獲得超10個贊
我通過在 HTML 的按鈕元素上使用 onclick= 并將 JS 分組為一個函數(shù)來實現(xiàn)這一工作。這是一種解決方法,但證明代碼確實有效。
我的 addEventListener 不能直接與上面的代碼一起使用是否有原因?
添加回答
舉報