JS - 如何使用appendChid将按钮添加到div中

时间:2017-07-06 12:04:40

标签: javascript

我想仅使用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)

但它没有用。

3 个答案:

答案 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)