如何从li元素中获取ID?代码调试返回null求助
解决从li元素获取ID的问题
嘿,我来帮你搞定这个问题!你的代码返回null是因为犯了一个小细节错误,我来一步步给你拆解:
错误原因分析
你写的document.getElementById(list[i])是问题核心:
document.getElementById()方法需要传入字符串格式的ID值,但list[i]本身就是从dropBox的children里拿到的DOM元素(也就是你的li标签),不是ID字符串。- 我们的目标是获取这个li元素的ID,直接访问它的
id属性就可以了,完全不需要再调用getElementById。
修正后的完整代码
把错误部分替换后,代码就能正常工作了:
window.saveAndDisplay = function() { var list = document.getElementById('dropBox').children; var result = "Names are: <br />"; for (var i = 0; i < list.length; i++) { // 直接访问li元素的id属性即可 result += list[i].id + "<br />"; } document.getElementById('demo').innerHTML = result; }
额外小提示
如果你的部分li元素可能没有设置ID,为了避免页面显示undefined,可以加个简单的判断优化:
result += list[i].id ? list[i].id : "无ID" + "<br />";
这样就能稳定获取到每个li的ID啦!
内容的提问来源于stack exchange,提问作者Alves
相关产品推荐
相关产品推荐

