我想仅使用JavaScript创建侧边栏,但我无法将关闭按钮添加到div。 我试过这个:
var sideb = document.createElement("Div");
sideb.style.height = "100%";
sideb.style.width = "0px";
sideb.style.backgroundColor = "rgb(30,30,30)";
sideb.style.top = "0px";
sideb.style.right = "0px";
sideb.style.margin = "0px";
sideb.style.padding = "0px";
sideb.style.position = "fixed"
document.body.appendChild(sideb);
var close = document.createElement("Button");
close.innerText = "close";
close.onclick = close;
document.body.sideb.appendChild(close)
但它没有用。
答案 0 :(得分:4)
document.body.sideb.appendChild(close)
body
没有名为sideb
你只需要
sideb.appendChild(close)
答案 1 :(得分:1)
您的代码中有几个错误。你创建了一个名为protected void Page_Load(object sender, EventArgs e)
{
//IT COMES HERE.
}
protected void Button2_Click(object sender, EventArgs e)
{
//IT DOES NOT COME HERE.
}
的函数吗?我问这个是因为您将close
分配给按钮的close
处理程序,但是在将onclick
定义为本地范围内的按钮元素之后。如果没有,你必须写一个实际的功能"关闭" close
。另外,正如另一个人所指出的,div
不是sideb
的属性。您只需拨打document.body
&#39} sideb
方法即可添加按钮。
appendChild
此外,如果您想删除一些代码重复,可以使用Object.assign
删除对var sideb = document.createElement("Div");
sideb.style.height = "100%";
sideb.style.width = "0px";
sideb.style.backgroundColor = "rgb(30,30,30)";
sideb.style.top = "0px";
sideb.style.right = "0px";
sideb.style.margin = "0px";
sideb.style.padding = "0px";
sideb.style.position = "fixed";
document.body.appendChild(sideb);
var close = document.createElement("Button");
close.innerText = "close";
close.onclick = function() {
sideB.parentNode.removeChild(sideB);
};
sideb.appendChild(close);
的所有额外引用。
sideb.style
答案 2 :(得分:0)
document.body.sideb这种形式意味着你调用一个名为sideb的属性,你的body对象中没有sideb所以只需使用sideb.appendChild()
var sideb = document.createElement("Div");
sideb.style.height = "100%";
sideb.style.width = "0px";
sideb.style.backgroundColor = "rgb(30,30,30)"; sideb.style.top = "0px";
sideb.style.right = "0px";
sideb.style.margin = "0px";
sideb.style.padding = "0px";
sideb.style.position = "fixed"
document.getElementByTagName('body')[0].appendChild(sideb);
var close = document.createElement("Button");
close.innerText = "close";
close.onclick = close;
sideb.appendChild(close)