最初我的页面有几个按钮和一个表。我可以在表格中添加/删除行。我想创建另一个具有页面初始状态的按钮,即按钮和空表。
我的javascript:
function initialize_page() {
localStorage.clear()
var preambula = '<button type="button" id="create_row">Create row</button> \
<button type="button" id="remove_row">Delete row</button><br> \
<button type="button" id="initialize">New Table</button><br> \
<table id="main_table"> \
<tr> \
<td>#</td> \
<td>Name</td> \
<td>Pref.1</td> \
<td>Pref.2</td> \
<td>Pref.3</td> \
</tr> \
</table>'
var div = document.createElement('div');
div.innerHTML = preambula;
}
initialize_page();
document.getElementById('initialize').onclick = initialize_page;
然而,它说:Cannot set property 'onclick' of null
。
我的任务很简单:我有initiale html,然后我可以添加/删除行,当我按下初始化按钮我想回去初始html。最简单的方法是什么? (希望不使用jQuery)
答案 0 :(得分:1)
你需要一些东西来附加你创建的div元素。
var div = document.createElement('div');
div.innerHTML = preambula;
document.getElementById('append-table').innerHTML = '';
document.getElementById('append-table').appendChild(div);
我在这里为你创造了一个小提琴:http://jsfiddle.net/6x7jd5od/
答案 1 :(得分:1)
您的initialize
元素尚不存在,因为它不在DOM中,因此getElementById()
无法找到它。
这是因为你创建了一个div元素,它包含你的preambula
html,但是你并没有在DOM中附加任何div元素。
您需要添加以下内容:
document.body.appendChild(div);
在initialize_page
功能中。
答案 2 :(得分:0)
输入不在文档中。您创建的DIV仅存在于JS中,它不会在任何地方添加到文档中。