这篇文章是为了时刻提醒自己,甚至有一点羞辱自己的感觉。因为花了一晚上的时间在调查一个问题,最后才发现是一个多么低级的错误:
今天想要通过js动态的加载导航的二级菜单,最后决定动态的向一个div中添加一段html来实现,最初的实现代码是:
divTag.innerHtml = 'XXX';
任我怎么调试,最终还是没有查出问题所在,最后几乎将要放弃了,都洗刷完想要睡觉了,但是还是抱着最后的幻想想要再试一下,因为我在w3school上发现他们的代码是这么写的:
document.getElementById("id").innerHTML = "XXXXX";
我承认我傻傻的认为是我用的变量去调用innerHtml属性,而w3school上直接用的getElement……,最终我还是失败了。但还是发现了他们用的是这个属性
innerHTML而不是innerHtml,所以最终的错误竟然是因为大小写的问题。
Dom的属性是区分大小写的!!!!
document.getElementById("id").innerHTML
JS大小写敏感陷阱
本文记述了作者在使用JavaScript动态加载导航二级菜单时遇到的一个因属性名大小写错误而导致的问题。起初尝试使用divTag.innerHtml='XXX'的方式设置内容,却始终未能成功。后发现正确的方法应当为document.getElementById('id').innerHTML='XXX',即innerHTML而非innerHtml,大小写的不同导致了问题的发生。
4403

被折叠的 条评论
为什么被折叠?



