老师帮看一下作业,为什么控制台输出跟页面的不一样,怎么改?
来源:4-4 编程练习
要每天学习的小蓝同学
2021-06-02 23:06:49
相关代码:
<body>
<div id="list">
<!--html结构参考如下:-->
<dl>
<dt>前端</dt>
<dd>Vue</dd>
<dd>Vue</dd>
<dd>Vue</dd>
</dl>
</div>
<script>
var classfies = {
"前端": ["Vue", "Angular", "React"],
"后端": ["Php", "Java", "Python"]
}
/*补充代码*/
let htmlStr='';
for (const [key,value] of Object.entries(classfies)){
htmlStr=`<dl><dt>${key}</dt><dd>${value}</dd><dd>${value}</dd><dd>${value}</dd></dl><dl><dt>${key}</dt><dd>${value}</dd><dd>${value}</dd><dd>${value}</dd></dl>`;
console.log(htmlStr);
};
let list=document.getElementById('list');
list.innerHTML=htmlStr;
</script>
</body>
1回答
同学你好,因为控制台输出的每次循环时htmlStr的值,由于每次循环都会给htmlStr重新赋值,导致页面中显示的htmlStr是循环结束时的值,所以不一样。
具体可以结合下图注释修改与理解:
效果如下:
祝学习愉快~
相似问题