如何通过文本与变量值拼接获取HTML元素ID并实现对应功能?
解决方法
你的代码思路本身是可行的,只是存在一个标签闭合错误:第二个div的结束标签写错了,应该是</div>而非/div>,这个错误会导致DOM结构异常,影响脚本正常获取元素。
修正后的完整代码如下:
<div id='div1'>some content</div> <div id='div2'>some other content</div> <div id='div3'>now some even different content</div> <button onclick='CallThis(1);'>Alert 1</button> <button onclick='CallThis(2);'>Alert 2</button> <button onclick='CallThis(3);'>Alert 3</button> <script> function CallThis(SomeVar) { const targetDiv = document.getElementById('div' + SomeVar); if (targetDiv) { alert(targetDiv.innerHTML); } else { alert('未找到对应内容'); } } </script>
补充说明
- 修复了div2的闭合标签错误,确保DOM结构正常解析;
- 新增元素存在性判断,避免因元素不存在导致脚本报错;
- 核心逻辑和你原本的思路一致:通过按钮点击传递的数字参数,拼接成对应div的ID,获取元素后弹出其内部HTML内容。
内容的提问来源于stack exchange,提问作者learner101
相关产品推荐
相关产品推荐

