JS设置para.textContent后内容无法在浏览器正常显示的问题咨询
问题现象
选择下拉框的天气选项后,段落区域无对应文本输出,para.textContent赋值逻辑未正常生效。
错误原因
代码存在2处JavaScript语法错误,直接导致脚本执行中断:
rainy分支的赋值字符串未闭合:字符串末尾缺失单引号,转义的It\'s后整段字符串没有结束标记default分支赋值语法错误:空字符串赋值后多余换行和孤立的单引号、分号,属于非法语法
修复后完整代码
JavaScript 部分
const select = document.querySelector('select'); const para = document.querySelector('p'); select.addEventListener('change', setWeather); function setWeather() { const choice = select.value; switch (choice) { case 'sunny': para.textContent = '今天天气真好!我们去公园,出门散散步吧!'; break; case 'rainy': para.textContent = '外面在下雨,出门散步别忘了带伞。'; break; case 'snowing': para.textContent = '外面在下雪,就待在家里吧,坐在窗边,边喝茶边看书看雪景。'; break; case 'overcast': para.textContent = '现在没下雨,但天灰蒙蒙的,随时可能变天,保险起见带件雨衣。'; break; default: para.textContent = ''; } }
HTML 部分
<body> <label for="weather"> 选择今日天气类型:</label> <select id="weather"> <option value=""> --请选择--</option> <option value="sunny"> 晴天 </option> <option value="rainy"> 雨天 </option> <option value="snowing"> 下雪 </option> <option value="overcast"> 阴天 </option> </select> <p></p> </body>
排查建议
- 前端脚本运行异常时优先打开浏览器开发者工具的Console面板,语法错误会直接标注错误所在行,能快速定位问题
- 书写字符串时注意引号成对出现,使用转义符
\时不要破坏字符串的闭合结构,字符串换行需要用+拼接,不能直接断行
内容的提问来源于stack exchange,提问作者Jabri Juhinin
相关产品推荐
相关产品推荐

