请教

来源: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回答

好帮手慕张

2021-01-06

同学你好,问题解答如下:

1、设置innerHTML可以识别标签,并且能显示出标签的默认样式

http://img.mukewang.com/climg/5ff55e5109f706db10830193.jpg

2、设置innerText不能识别标签,默认样式也不能显示出来

http://img.mukewang.com/climg/5ff55e6e0929affa10770225.jpg

3、代码效果没有问题,与任务要求是一致的。第一次点击‘请选择’不改变文字是因为没有触发onchange事件,触发onchange事件之后才会发生改变,所以选择其他颜色之后再选择‘请选择’,文字就变化了。

​祝学习愉快!

0

0 学习 · 15276 问题

查看课程

相似问题

请教

回答 1

请教

回答 1

请教问题

回答 1

请教问题

回答 1