【问题标题】: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 错误,或者.... 恕我直言,可能存在太多问题。

标签: javascript innerhtml


【解决方案1】:

在尝试引用之前确保 div 存在,

window.addEventListener("load",function() {
    document.getElementById('text').innerHTML = localStorage.getItem("mytext");
},false);

这将在进行任何修改之前等待文档加载

【讨论】:

  • +1,从小提琴来看你是对的。不过,您应该将其更改为使用 getItem 而不是通过方括号访问它。
【解决方案2】:

你能检查一下 localStorage["text"] 是否真的返回一个字符串吗?也许这个链接可以帮助你检查它是否真的是一个字符串。

https://stackoverflow.com/a/9729103/1873758

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-12-13
    • 1970-01-01
    • 2021-06-29
    • 1970-01-01
    • 2013-02-13
    • 1970-01-01
    • 2014-09-12
    • 1970-01-01
    相关资源
    最近更新 更多