gpt4 book ai didi

javascript - 选择该颜色的选择列表选项时如何更改文档背景颜色

转载 作者:行者123 更新时间:2023-11-30 17:02:29 25 4
gpt4 key购买 nike

function change_color() {
var getSelect = document.getElementsByName("colorPick");
var selection = getSelect.options[getSelect.selectedIndex].value;
for (i = 0; i < getSelect.options.length; i++) {
document.body.style.backgroundColor = selection;
}
}
<select name="colorPick" onchange="change_color();">
<option value="0">Background Color</option>
<option value="1">Blue</option>
<option value="2">Cyan</option>
<option value="3">White</option>
</select>

/出了点问题。我尝试了很多不同的方法,但当我选择一种颜色时似乎没有任何效果。/

最佳答案

您的代码无法正常工作,因为 getElementsByName返回元素的 nodeList 集合。您需要访问其中一个元素,因为您无法获取集合的值。

document.getElementsByName("colorPick")[0]; // First element

您可以通过传递选择元素的上下文来避免这种情况:onchange="change_color(this)"

在更改背景颜色方面,您需要将body 元素的背景颜色设置为所选元素的text。不是值(value)。

Example Here

function change_color(select) {
var color = select.options[select.selectedIndex].textContent;

document.body.style.backgroundColor = color;
}
<select name="colorPick" onchange="change_color(this);">
<option value="0">Background Color</option>
<option value="1">Blue</option>
<option value="2">Cyan</option>
<option value="3">White</option>
</select>


我建议使用 unobtrusive JavaScript虽然:

Example Here

document.querySelector('[name="colorPick"]').addEventListener('change', function () {
var color = this.options[this.selectedIndex].textContent;

document.body.style.backgroundColor = color;
});
<select name="colorPick">
<option value="0">Background Color</option>
<option value="1">Blue</option>
<option value="2">Cyan</option>
<option value="3">White</option>
</select>

关于javascript - 选择该颜色的选择列表选项时如何更改文档背景颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28597520/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com