如何在使用javascript添加新元素后更新本地html文件
How can I update local html file after adding new element using javascript?
我是web开发的新手。我正在尝试将列表项添加到未排序的列表中。使用javascript
html
<!DOCTYPE html>
<html>
<head>
<title>Item Add Test</title>
<script src="item.js"></script>
<link rel="stylesheet" type="text/css" href="item.css">
</head>
<body>
<input type="text" id="initem"></input>
<br /><br />
<button onclick="myFunction1()" id="submit">SUBMIT</button>
<ul id="menu">
<li>ABC</li>
<li>BLA</li>
</ul>
</body>
</html>
css项.css
body {
font-family: monospace;
text-align: center;
font-size: 1.5em;
}
input {
text-align: center;
width: 300px;
height: 30px;
border: 1px solid blue;
border-radius: 5px;
margin: 10px auto;
padding-left: 10px;
font-size: 1.2em;
font-weight: bold;
}
#submit {
font-size: 1em;
}
javascript item.js
function myFunction1() {
var name = document.getElementById("initem").value;
var node = document.createElement("LI");
var textnode = document.createTextNode(name);
node.appendChild(textnode);
document.getElementById("menu").appendChild(node);
}
我已成功将项目添加到列表中。但当我刷新页面时,所有项目都不见了。
如何在添加项目后保存html文件或更新html文件,以便在刷新页面列表时项目仍保留在那里。
您可以将<li>
元素的文本保存在本地存储中,并检索主体的load
事件。出于安全原因,这个片段不起作用,但我尝试了Sublime Text,它很好。
var li_texts = [];
function myFunction1() {
var name = document.getElementById("initem").value;
var node = document.createElement("LI");
var text = 'Test';
node.innerHTML = text;
document.getElementById("menu").appendChild(node);
li_texts.push(text);
localStorage.setItem("li_texts", JSON.stringify(li_texts));
}
function loadList(){
if (localStorage.getItem("li_texts") !== null) {
var stored_names = JSON.parse(localStorage.getItem("li_texts"));
for(i=0; i<stored_names.length; i++){
var node = document.createElement("LI");
node.innerHTML = stored_names[i];
document.getElementById("menu").appendChild(node);
}
}
else{
return;
}
}
body {
font-family: monospace;
text-align: center;
font-size: 1.5em;
}
input {
text-align: center;
width: 300px;
height: 30px;
border: 1px solid blue;
border-radius: 5px;
margin: 10px auto;
padding-left: 10px;
font-size: 1.2em;
font-weight: bold;
}
#submit {
font-size: 1em;
}
<!DOCTYPE html>
<html>
<head>
<title>Item Add Test</title>
<script src="item.js"></script>
<link rel="stylesheet" type="text/css" href="item.css">
</head>
<body onload="loadList()">
<input type="text" id="initem"></input>
<br /><br />
<button onclick="myFunction1()" id="submit">SUBMIT</button>
<ul id="menu">
<li>ABC</li>
<li>BLA</li>
</ul>
</body>
</html>
相关文章:
- Javascript更新孙窗口中的表单元素
- Mongoose-在更新中删除数组元素
- Angular没有根据模型更新我的选择元素
- 元素未使用当前玩家操作进行更新
- d3在数据更新时错误地附加了dom元素
- Javascript元素更新侦听器
- JS设置间隔在函数中,该函数将同时调用,从而导致错误的元素更新
- 当 JQuery 元素更新时,挖空 JS 自定义绑定不会更新
- 使用新的数组元素更新backbone.js模型
- 如何在后台进行ajax请求和html元素更新
- 使用ajax dom元素更新视图模型
- 如何根据另一个元素更新一个元素的宽度
- 聚合物:不使用firebase元素更新firebase数据库
- 防止元素更新- JQuery
- 从父元素更新道具时出错(执行removeChild失败)
- jQuery的hasClass()函数在元素更新后不起作用
- 通过Raphael.JS元素更新HTML信息
- 通过本机select元素更新belongsTo关系
- 使用jQuery change方法从Javascript对象和html select元素更新内容
- Angular如何在每个摘要的DOM元素更新后触发回调函数