来自创建的div的本地保存数据

时间:2016-04-17 18:54:13

标签: javascript html

JavaScript的:

<script>
var d = document;
function add() {
  var div = d.getElementById("div"), txt = d.getElementById("txt"), name = d.getElementById("name");
  var newDiv = d.createElement("div");
  newDiv.innerHTML = name.value + ('<br>') + txt.value;
  div.appendChild(newDiv);
  newDiv.id = 'comment';
document.getElementById("txt").value = "";
document.getElementById("name").value = "";
}
</script>

和HTML:

<input type="text" id="name"/>
<br>
<textarea id="txt"></textarea>

<input type="button" value="Add" onClick="add()">
<div id="div"></div>

此代码使用id =&#34; comments&#34;创建div。并使用id="div"

从父div中输入和textarea发布数据

我无法通过本地存储或cookie在客户端本地保存创建的div的用户数据。

2 个答案:

答案 0 :(得分:0)

首先:尽量避免重复的ID,为多个实例使用类并添加例如我的位置键,以使其独一无二(例如class="comments" id="comment1")。 对于存储逻辑,如果您搜索&#34;本地存储Javascript&#34;,您可以在Internet中找到许多教程。在您的示例中,您可以使用数据将数组保存在本地存储上,例如: window.localStorage.setItem("divs", [...]);

或者,如果您只想知道创建了多少项,请保存项目数。

答案 1 :(得分:-1)

将javascript放在关闭正文标记之前的底部是个好习惯。这将使得在执行javascript之前加载dom的机会,使得例如预加载器非常容易实现。

本地存储的良好资源是w3school

localStorage的例子(取自w3schools)

// Store
localStorage.setItem("lastname", "Smith");
// Retrieve
document.getElementById("result").innerHTML = localStorage.getItem("lastname");

本地存储以字符串形式存储。这意味着您必须对对象进行字符串化。您可以使用json.stringify执行此操作。

var myobject = {"foo":"bar"};
var mystring = JSON.stringify(myobject)

再次获得好的cookie资源; w3school

cookie示例(取自w3schools)

document.cookie="username=John Smith; expires=Thu, 18 Dec 2013 12:00:00 UTC; path=/";

如果要删除cookie,可以将日期设置为已经过去的值。