创建元素,然后删除元素

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了创建元素,然后删除元素相关的知识,希望对你有一定的参考价值。

我想在删除一定时间后创建一个元素。

当我单击我的按钮一次时,我的代码工作,它会在2秒后删除元素,但如果我多次单击该按钮,setTimeout函数将停止工作。

function displayText(){
    var element = document.createElement("P");
    element.id = "text1";
    element.appendChild(document.createTextNode('Hello'));
    document.getElementById('Div1').appendChild(element);
    setTimeout(function(){
        document.getElementById("text1").style.display = "none";
    }, 2000);
}
答案

在单个文档中具有多个ID是无效的html - 在id中选择text1setTimeout的元素将仅选择具有该ID的第一个元素。您新创建的元素根本不需要ID - 您只需在闭包中引用element变量,并设置其样式。

您也可能会发现分配给元素的textContent比使用createTextNode更容易:

function displayText(){
  var element = document.createElement("P");
  element.textContent = 'Hello';
  document.getElementById('Div1').appendChild(element);

  setTimeout(
    function(){
      element.style.display = "none";
    }, 2000);
}

注意

element.style.display = "none";

实际上并没有删除元素 - 如果你想从DOM中删除元素,请使用

element.remove();

以上是关于创建元素,然后删除元素的主要内容,如果未能解决你的问题,请参考以下文章

片段之间的共享元素转换

css有用的代码片段

共享元素返回过渡不适用于片段中的 recyclerview 和 cardview

javascript [删除元素,如果存在另一个元素]这个片段将找到id / class,如果它有任何内容(aka。children),那么它将remo

201621123042《java程序设计》第九次作业

golang删除数组某个元素