为何这题使用document.getElementsByTagName方法不能获取option标签的数组元素
来源:4-12 编程练习
____晴____
2020-11-01 02:22:36
# 具体遇到的问题
请问这题使用document.getElementsByTagName方法为何不能获取option标签的数组元素
# 报错信息的截图
浏览器里显示不了页面变化
# 相关课程内容截图
# 尝试过的解决思路和结果
# 粘贴全部相关代码,切记添加代码注释(请勿截图)
<script type="text/javascript">
//补充代码
var ye = document.getElementsByTagName('option')[1];
var or = document.getElementsByTagName('option')[2];
var pin = document.getElementsByTagName('option')[3];
var pur = document.getElementsByTagName('option')[4];
var oDiv = document.getElementById('div');
ye.onchange = function(){
oDiv.innerHTML = '我的背景颜色变成了yellow色';
oDiv.style.backgroundColor = 'yellow';
}
or.onchange = function(){
oDiv.innerHTML = '我的背景颜色变成了orange色';
oDiv.style.backgroundColor = 'orange';
}
pin.onchange = function(){
oDiv.innerHTML = '我的背景颜色变成了pink色';
oDiv.style.backgroundColor = 'pink';
}
pur.onchange = function(){
oDiv.innerHTML = '我的背景颜色变成了purple色';
oDiv.style.backgroundColor = 'purple';
}
</script>
在这里输入代码,可通过选择【代码语言】突出显示
1回答
同学你好,问题解答如下:
1.可以获取的,可以输出一下,示例:
输出结果:
但是注意,下拉菜单绑定事件,不能直接给option绑定事件,要给select绑定,这个固定记一下。
2.代码如下修改 :
事件中要进行判断,如果获取的value为“0”(this.value可以获取当前点击选项的value值),那么背景色改变为白色。反之,则把元素背景色设置为当前获取的value。
如下注释的都去掉:
祝学习愉快~
相似问题