Javascript 使用选择标记更改网站的背景图像
我正在学习JavaScript,并设法更改了背景颜色:Javascript 使用选择标记更改网站的背景图像,javascript,html,html-select,Javascript,Html,Html Select,我正在学习JavaScript,并设法更改了背景颜色: <script> function changecolor(id,color) { id.style.backgroundColor=color; } </script> <div id="container"> <p> Select Color to change background:</p> <sele
<script>
function changecolor(id,color) {
id.style.backgroundColor=color;
}
</script>
<div id="container">
<p> Select Color to change background:</p>
<select id="themenu" onchange="changecolor(container,themenu.value)">
<option value="white"> </option>
<option value="red">RED</option>
<option value="blue">BLUE</option>
<option value="green">GREEN</option>
</select>
</div>
函数changecolor(id、颜色){
id.style.backgroundColor=颜色;
}
选择颜色以更改背景:
红色
蓝色
绿色
还有其他方法吗 你可能只是被语法卡住了
<select id="themenu" onchange="changecolor(container,this.value)"> <!-- Change -->
<option value="white"> </option>
<option value="red">RED</option>
<option value="blue">BLUE</option>
<option value="green">GREEN</option>
</select>
红色
蓝色
绿色
此.value
指当前对象的选定值
menu.value
也可以正常工作,您可能只是在其他地方卡住了
您的javascript函数应该是这样的
function changecolor(id,color){
document.getElementById(id).style.backgroundColor=color;
}
您只需引用当前对象(此),然后引用其父节点及其值,而不是使用ID:
<script>
function useValueAsParentColor(menu) {
menu.parentNode.style.backgroundColor = menu.value;
}
</script>
<div>
<p> Select Color to change background:</p>
<select onchange="useValueAsParentColor(this); ">
<option value="white"> </option>
<option value="red">RED</option>
<option value="blue">BLUE</option>
<option value="green">GREEN</option>
</select>
</div>
函数UseValueAspentColor(菜单){
menu.parentNode.style.backgroundColor=menu.value;
}
选择颜色以更改背景:
红色
蓝色
绿色
我刚刚调用了父元素,它工作得非常好
onchange="changecolor(this.parentNode,themenu.value)"
您肯定应该看看jQuery()。jQuery是一个JavaScript库,它与动画、验证等一起完成这类工作,更简单@正如Tom所提到的,他只是在学习JavaScript,而不是jQuery。在跳进jQuery地狱之前,让我们先给他看一点纯JavaScript,好吗?我发现它很容易,JS,jQuery难还是O.O@heartcode@KatyoshahJS很简单,这就是为什么我认为新手最好从vanilla JS开始,而不是一个流行且强大的库来解决简单的问题。changecolor(这个?但是我想更改div容器的颜色,我必须添加document.getElementByid(id)为什么不直接添加id.style@brokenheart@Katyoshah因为
container
是html元素的id,所以需要这样做。