<button class='cp_but' onclick='decide(); return false;'>Item</button>
function decide() {
var buttons = "<button class='cp_but' onclick='addItem()'>Add</button>" +
"<button class='cp_but' onclick='done();'>Done</button>";
document.getElementById("but_cont").innerHTML = buttons;
}
function done() {
document.getElementById("but_cont").setAttribute("style", "display:none;");
}
为什么只在首次点击“项目”按钮时添加按钮?
答案 0 :(得分:1)
因为您在div
函数中将display:none
设置为done()
。
在decide()
中,您需要将其设置为display:block
或其他任何内容,以便再次查看内容。
如果按钮始终相同,则没有理由继续创建和销毁它们。
在页面加载时将它们放在那里,并设置display
以显示和隐藏它们。
答案 1 :(得分:1)
我明白你的问题是什么。您希望再次按下项目时再次显示按钮(按下完成后)。问题是它们被设置为display: none
,因此它们不会显示!你必须在你的函数中添加这一行:
function decide() {
var buttons = "<button class='cp_but' onclick='alert(\"test\")'>Add</button>" +
"<button class='cp_but' onclick='done();'>Done</button>",
el = document.getElementById("but_cont");
if(el.style.display === 'none') el.style.display = 'block';
el.innerHTML = buttons;
}
有很多更好的方法可以做到,但我不是为了这个,你应该学习如何编写好的代码!
答案 2 :(得分:-4)
尝试使用此功能进行完成功能
window.done = function(){
document.getElementById("but_cont").innerHTML = "";
}