首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >removeChild与addEventListener

removeChild与addEventListener
EN

Stack Overflow用户
提问于 2013-11-17 22:51:51
回答 3查看 879关注 0票数 0

我只是在学习javascript。在google控制台上进行测试,我的结果是:

代码语言:javascript
复制
<html>

<head></head>
<body>

<div id="divi">

<button id="butti">Click Me</button>

</div>
</body>
</html>

和Js:

代码语言:javascript
复制
function cBoton (){
 var getDiv = document.getElementById("divi");
  getDiv.removeChild(getDiv.lastChild);
};

var getButton = document.getElementById("butti");
getButton.addEventListener("click", cBoton);

我希望按钮在单击一次后会被删除。为什么只在第二次单击之后才起作用?

tx!

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-11-17 22:58:08

标记中元素的.lastChild"" (尝试console.log(getDiv.lastChild)来澄清)。

使用此方法可以确保删除所需的元素:

代码语言:javascript
复制
function cBoton() {
    var getDiv = document.getElementById("divi");
    getDiv.removeChild(getButton);
};
票数 0
EN

Stack Overflow用户

发布于 2013-11-17 22:58:44

在第一次单击时,divi的最后一个子节点是包含按钮后的空白的文本节点,该节点将被删除。在第二次单击时,该按钮是最后一个子按钮。

票数 0
EN

Stack Overflow用户

发布于 2016-04-03 13:18:21

无价..。

修改源;

代码语言:javascript
复制
/* .css */

div :nth-child(even){background-color: #f2f2f2}

/*.js */

function addDiv() {
var para = document.createElement("p");
var node = document.createTextNode('textHere'); // add cell code here 
para.appendChild(node);
var element;
element = document.getElementById("div1"); // to add div id recursion
element.appendChild(para);
}

function cBoton (){
var getDiv = document.getElementById("div1");
getDiv.removeChild(getDiv.lastChild);
}

var getButton = document.getElementById("div1");
getButton.addEventListener("click", cBoton);

/* HTML */

<html>
<head></head>
<body>
<button onclick="addDiv()">add</button>
<button onclick="cBoton()">Click Me</button>
<frameset><legend>recursions</legend>
<div id="div1"></div>
</frameset>
</body>
</html>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20037269

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档