HTML localStorage返回Null

时间:2017-05-26 13:56:48

标签: javascript html html5 function local-storage

我的localStorage返回null,我不知道为什么,不使用read函数,但只是为了帮助我还是把它放了。 Chrome表示它无法将innerHTML转换为null,而我的故障排除警报信息也会返回null,但代码会结束。任何帮助都会有用,谢谢。
饼干:

<!doctype html>
<html>
  <head>
    <cookie>
      <script>localStorage.setItem('id',Math.floor(Math.random()*10))
</script>
    </cookie>
  </head>
  <body>
    <script>var id = localStorage.getItem('id')
    alert(id)</script>
  </body>
</html>

剧本:

<!doctype html>
<html>
  <head>

    <script>
    var theId=localStorage.getItem('id')


    function change(id,target){
      var info = localStorage.getItem(id);
      alert(info)
      document.getElementById(target).innerHTML=info;
    }
    function read(){
      var element=document.createElement('h1')
      element.innerHTML='You Want To Read'
      document.body.appendChild(element)
      alert('debug')

    }
    </script>
  </head>
  <body>
    <input type="button" value="Read" name="read_story" id="read_story" 
onclick=read();change(theId,info)>
    <p id='info'>initial</p>
  </body>
  <script>
  alert('debug');

  </script>
</html>

1 个答案:

答案 0 :(得分:1)

您误解了错误消息。

如果无法设置innerHTML的{​​{1}},那么您有nullsomething.innerHTML = a_valuesomething无关,与本地存储无关。

null中,change(theId,info)是一个变量。它是info元素的引用。

您可以在此处使用它:id="info"

document.getElementById(target)(现在info)会转换为字符串(target)。

"[object HTMLParagraphElement]"没有元素,因此您获得了id="[object HTMLParagraphElement]"

调用该函数时,需要传递字符串,而不是变量。