Here是小提琴。我想通过将ul
保存为ul
来在var
中存储前置评论,并使用localStorage
将其保存到浏览器中。
HTML:
<h1>Commentia!!!</h1>
<textarea id='type'></textarea>
<br />
<input type='text' id='input'>
<br />
<br />
<button id='b' onclick='comment()'>Submit</button>
<div id='box'>Type your comment
<br />(please use spaces)</div>
<div id='button'>Click to submit</div>
<div id='inp'>Type your name</div>
<div id='dialog'></div>
<h3>Comments</h3>
<ul id='ul'></ul>
JS:
var l = $('#ul').val();
localStorage.comments = l;
document.getElementById('ul').innerHTML = localStorage.comments;
答案 0 :(得分:0)
val()
显然是为了获得values of form elements。在列表上尝试它会返回一个空字符串。你可以使用$('#ul').html()
获取innerhtml,然后将其localStorage
字符串化。
类似的东西:
var l = $('#ul').html();
localStorage.comments = JSON.stringify(l);
要稍后恢复这些(我在这里使用jQuery,因为它仍然可用):
$('#ul').html(JSON.parse(localStorage.comments));
(未测试)。采取这种方法的任何特殊原因?
编辑:检查实际保存的内容非常简单。在Chrome中,devtools位于Tools
下的Chrome菜单中,或者右键单击网页中的任意位置Inspect element
。
Local Resources
标签中列出了LocalStorage(以及其他一些内容)。您也可以转到Console
标签,然后输入localStorage
直接访问该对象。
请记住localStorage只存储字符串,每个'origin'限制为5MB,我认为这意味着主机。如果你在localhost上做了很多测试,我想你有可能在某个时候达到配额。
此外,之前的评论者对使用getItem()
/ setItem()
提出了一个很好的观点。不要使用localStorage.comments
,而是使用localStorage.getItem('comments')
。