如何修改JavaScript脚本动态设置元素CSS ID而非输出可见文本
解决方案
你只需要把原脚本中修改innerHTML的逻辑替换为修改元素的id属性,同时删除文本赋值逻辑,就不会输出可见文本,同时能自动匹配预设的CSS高度规则。
修改后的完整代码
<div id="MyText"></div> <script> var el = document.getElementById('MyText'); if (italian || french || german) { // 将匹配到的语言对应标识直接赋值给元素id属性 el.id = (italian && 'ciao') || (french && 'salut') || (german && 'hallo'); } else { // 无匹配语言的默认处理,可按需调整 // 如果需要默认高度,可先在CSS中新增#hello的高度规则,再开启下一行代码 // el.id = 'hello'; // 不需要特殊处理则保留原有id为MyText,无需额外赋值 } </script>
说明
- 完全复用你原有的语言判断逻辑,不需要调整判断条件
- 取消了文本插入操作,不会生成可见内容
- 元素id修改后会自动匹配你预先定义的CSS样式,直接生效对应高度
- 默认无匹配语言的状态可根据自己的需求灵活调整
内容的提问来源于stack exchange,提问作者D. Dragon
相关产品推荐
相关产品推荐

