老师,帮忙看下

来源:4-12 编程练习

多盐少糖

2021-05-18 17:47:48

问题描述:

​    ​var backcolor=this.value;这个不知道是咋回事,在之后的课程会有讲吗?

相关代码:

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>onchange()</title>
<style type="text/css">
#div{
width:300px;
height:300px;
border:2px solid gray;
margin:100px 0 0 200px;
}
</style>
<script type="text/javascript">
//补充代码
window.onload=function(){
var box1=document.getElementById('div');
var dow=document.getElementById('color');
dow.onchange=function(){
var backcolor=this.value;
if(backcolor=="0"){
box1.style.backgroundColor='white';
box1.innerHTML='我没有发生任何改变';
}else{
box1.style.backgroundColor=backcolor;
box1.innerHTML='我变成了'+backcolor+'色';
}
}
}


</script>
</head>
<body>
<div>
<span>请选择您喜欢的颜色:</span>
<select id="color" >
<option value="0" selected='selected'>请选择</option>
<option value="yellow" >黄色</option>
<option value="orange">橘色</option>
<option value="pink">粉色</option>
<option value="purple">紫色</option>
</select>
</div>
<div id="div">我是div</div>
</body>
</html>


写回答

1回答

好帮手慕言

2021-05-18

同学你好,this的指向在《面向对象》课程的第三章中会有详细的讲解,课程链接:https://class.imooc.com/course/1628

在同学提供的代码中,this指向的是绑定onchange事件的元素,也就是id名为color的元素,select下拉框比较特殊,选择了哪个选项(也就是选中了哪个option),那么this.value就是option标签中的value属性值,如下:

http://img.mukewang.com/climg/60a39287090ef01604490125.jpg

选中黄色

http://img.mukewang.com/climg/60a3929f096398c615100460.jpg

这个知识点同学可以记一下,祝学习愉快~


0

0 学习 · 15276 问题

查看课程