Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/385.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在使用javaScript在页面中呈现Html元素之前删除它?_Javascript - Fatal编程技术网

在使用javaScript在页面中呈现Html元素之前删除它?

在使用javaScript在页面中呈现Html元素之前删除它?,javascript,Javascript,我在一个非常大的项目中工作,没有使用任何js框架和库。我遇到了一个严重的问题,我正在寻找在页面中呈现HTML元素之前删除它的方法。下面显示的代码不是实际问题,但它帮助我找到实际的解决方案。请帮帮我 代码:- var element = document.createElement('div'); element.innerHTML = 'This is Nirikshan Bhusal' element.remove() document.getElementById('root').a

我在一个非常大的项目中工作,没有使用任何js框架和库。我遇到了一个严重的问题,我正在寻找在页面中呈现HTML元素之前删除它的方法。下面显示的代码不是实际问题,但它帮助我找到实际的解决方案。请帮帮我

代码:-

 var element = document.createElement('div');
 element.innerHTML = 'This is Nirikshan Bhusal'
 element.remove()
 document.getElementById('root').appendChild(element);
我想要上面代码显示的逻辑。 我有一个解决这个问题的办法,但这对我不起作用

无法解决我的问题的代码:-

 var element = document.createElement('div');
 element.innerHTML = 'This is Nirikshan Bhusal';
 element.style.display = 'none';
 document.getElementById('root').appendChild(element);
 element.remove();

请帮帮我?

使用本机元素无法做到这一点。但你可以很容易地修补它:

Element.prototype.remove = (old => function() {
  this.dontAdd = true;
  old.call(this);
})(Element.prototype.remove);

Element.prototype.appendChild = (old => function(el) {
  if(!el.dontAdd) old.call(this, el);
})(Element.prototype.appendChild);

现在,您的第一个版本按预期工作。但是这可能会在你的代码中造成副作用,所以要小心。

如果你想
删除()
,为什么要添加它?你到底为什么要这样做?你是说隐藏而不是删除?删除与追加相反。只是不要
删除
。如果您想隐藏它,只需保留
element.style.display='none'行。@Satpal但我真正的问题与此类似。那你为什么不问问你真正的问题呢?