这里有啥问题,为啥 innerHTML 不起作用? [关闭]
Posted
技术标签:
【中文标题】这里有啥问题,为啥 innerHTML 不起作用? [关闭]【英文标题】:Whats wrong here, why is innerHTML not working? [closed]这里有什么问题,为什么 innerHTML 不起作用? [关闭] 【发布时间】:2012-11-21 09:45:04 【问题描述】:我想问一下为什么 innerhtml 在以下代码中不起作用:
document.getElementById('text').innerHTML = localStorage["mytext"];
带有 id 文本的元素是一个 div 元素。如果我将 localStorage 与警报一起使用,它会给我正确的字符串,错误可能是什么?
【问题讨论】:
很难用这么少的元素来判断。你能用小提琴演示一下这个问题吗? “不工作”对尝试诊断问题没有帮助。你确定getElementById
匹配一个元素吗?
什么浏览器?你能发布 HTML 吗?
@SajjanSarkar 带有id文本的元素是一个div元素
请在 jsfiddle 或 jsbin 上制作一个示例,以便我们看到一个完整的工作示例。您的 JS 可以在 div 位于 DOM 之前包含,或者可能存在 JS 错误,或者.... 恕我直言,可能存在太多问题。
【参考方案1】:
在尝试引用之前确保 div 存在,
window.addEventListener("load",function()
document.getElementById('text').innerHTML = localStorage.getItem("mytext");
,false);
这将在进行任何修改之前等待文档加载
【讨论】:
+1,从小提琴来看你是对的。不过,您应该将其更改为使用getItem
而不是通过方括号访问它。【参考方案2】:
你能检查一下 localStorage["text"] 是否真的返回一个字符串吗?也许这个链接可以帮助你检查它是否真的是一个字符串。
https://***.com/a/9729103/1873758
【讨论】:
以上是关于这里有啥问题,为啥 innerHTML 不起作用? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章
为啥onclick处理程序在javascript中与innerHTML一起使用时不起作用[重复]