请教
来源:4-12 编程练习
日拱一卒_
2021-01-05 23:11:53
1.老师请问什么时候用innerText什么时候用innerHTML 呢,通过这几个例子,我有些搞不清楚那种情况下选择哪一个来显示文本内容。
2.默认情况下this.value = 0,如果第一次选,请选择,div中的文字还是不会有变化仍然是 我是div,只有选中了其他的颜色后,再选“请选择”,div中的文字才会有变化。
我这样写总感觉有些不对, 但也不知道怎么纠正,请老师看一下。
<!DOCTYPE html>
<html>
<head lang="en">
<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">
//补充代码
// 定义监听事件
onload = function() {
var color = document.getElementById('color');
var div = document.getElementById('div');
color.onchange = function() {
if (this.value == '0') {
div.style.background = '';
div.innerText = '我没有发生任何变化';
} else {
div.style.background = this.value;
div.innerText = '我的背景颜色变成了' + this.value;
}
}
}
</script>
</head>
<body>
<div>
<span>请选择您喜欢的颜色:</span>
<select id="color">
<option value="0">请选择</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回答
同学你好,问题解答如下:
1、设置innerHTML可以识别标签,并且能显示出标签的默认样式
2、设置innerText不能识别标签,默认样式也不能显示出来
3、代码效果没有问题,与任务要求是一致的。第一次点击‘请选择’不改变文字是因为没有触发onchange事件,触发onchange事件之后才会发生改变,所以选择其他颜色之后再选择‘请选择’,文字就变化了。
祝学习愉快!