老师检查一下
来源:4-3 编程练习
慕九州3859248
2019-11-17 14:59:02
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<style type="text/css">
</style>
</head>
<body>
<div id="main">
<p>
请选择菜单:
<select id="menu">
<option title="qxz">请选择</option>
<option value="fruit" class="select" title="sg">水果</option>
<option value="cake" class="select" title="dg">蛋糕</option>
<option value="nuts" class="select" title="jg">坚果</option>
</select>
</p>
<p>
该系列有:<span class="content"></span>
</p>
</div>
<script type="text/javascript">
//1.获取元素
var main=document.querySelector('#main');
var menu=main.querySelector('#menu');
var optionBtn=menu.querySelectorAll('.select');
var content=menu.querySelector('.content');
//2.绑定元素
for(var i=0;i<optionBtn.length;i++){
optionBtn[i].onclick=function(){}
switch (this.title){
case 'qxz':
content.innerHTML='';
break;
case 'sg':
content.innerHTML='苹果、香蕉、鸭梨、橙子、西瓜';
break;
case 'dg':
content.innerHTML='慕斯、奶酪、海绵';
break;
case 'jg':
content.innerHTML='开心果、夏威夷果、腰果';
break;
}
}
// menu.onchange=function(){
// switch (this.value){
// case 'fruit':
// content.innerHTML='苹果、香蕉、鸭梨';
// break;
//
// }
// }
</script>
</body>
</html>
1回答
好帮手慕夭夭
2019-11-17
同学你好,点击下拉菜单,content中没有添加上内容。代码的问题参考如下修改:
1.content元素不是menu的子元素,不可以通过menu去获取,改为如下:
2。select比较特殊,给下拉菜单绑定事件直接绑定在select中,然后通过value去判断即可。给option绑定是没有用的。另外,switch循环没有放在事件函数中,所以点击的时候,什么代码也没有执行:
如下修改:
title都去掉,用不上
第一个下拉选项设置value为空字符串:
如下注释的去掉
给select绑定点击事件,for循环不需要,去掉 。case后面的判断条件改为value值
如果我的回答帮助到了你,欢迎采纳,祝学习愉快~
相似问题