javascript - 按钮仅在第二次单击后才起作用

标签 javascript

关闭按钮从 DOM 中删除元素,仅在第二次单击时起作用。

这是按钮的 HTML 部分:即 closeBtn。

function removeHeader() {
  var list = document.getElementById("main");
  list.removeChild(list.childNodes[0]);
}
<div id="main">
  <div class="nanoSaturnBanner">
    <p>teteasdasdasdsadasds sad asdasdasdasdasdas</p>

    <div class="banner-buttons">
      <label class="showme">Ads by Google</label>
      <a class="infoLink" href="https://support.google.com/adsense/#topic=3373519" target="_blank">
        <i class="fas fa-info-circle"></i>
      </a>
      <div class="closeBtn" onclick="removeHeader()">
        closeBtn
      </div>
    </div>
  </div>
</div>

最佳答案

您应该使用list.childNodes[1]因为list.childNodes[0]代表#text <div id="main"> 之后的空格节点。因此,在第一次单击中,它删除了该节点,在第二次单击中,它删除了带有 <div class="nanoSaturnBanner"> 的实际节点。

function removeHeader() {
   var list = document.getElementById("main");
   list.removeChild(list.childNodes[1]);
}
<div id="main">
    <div class="nanoSaturnBanner">
        <p>teteasdasdasdsadasds sad asdasdasdasdasdas</p>

        <div class="banner-buttons">
            <label class="showme">Ads by Google</label>
            <a class="infoLink" href="https://support.google.com/adsense/#topic=3373519" target="_blank">
                <i class="fas fa-info-circle"></i>
            </a>
            <div class="closeBtn" onclick="removeHeader()">
                <i class="far fa-window-close">close</i>
        </div>
    </div>
</div>

Note: Whitespace inside elements is considered as text, and text is considered as nodes. Comments are also considered as nodes.

关于javascript - 按钮仅在第二次单击后才起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50228331/

相关文章:

javascript - 如果瞄准镜没用了,会被清理吗?

javascript - Node.js 中的 ENOMEM 由高虚拟内存使用率引起

javascript - 使用 FileSaver.js 保存 PNG 文件

javascript - Rx.Observable.groupBy 会清理空流吗?

javascript - 在java spring中将文件上传到tomcat服务器时访问被拒绝

javascript - 如何防止 PHP 游戏从 AJAX 调用中重新实例化

javascript - 将鼠标悬停在图像上时显示下拉菜单

javascript - 更新 Canvas 元素而不刷新页面

javascript - 使用 JavaScript 对 localStorage 进行编辑的性能?

来自输入的 JavaScript 值