使用JavaScript在页面中呈现HTML元素之前将其删除?

时间:2018-07-27 13:07:33

标签: javascript

我在不使用任何js Framework和Lib的情况下从事大型项目。我遇到了一个严重的问题,我正在寻找在页面中呈现HTML元素之前将其删除的方法。下面显示的代码不是实际问题,但可以帮助我找到实际的解决方案。请帮帮我吗?

代码:-

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

我想要上面代码显示的逻辑。 我有1个解决此问题的方法,但这对我不起作用

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

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

请帮助我吗?

1 个答案:

答案 0 :(得分:0)

您不能使用本机元素执行此操作。但是您可以轻松地用猴子修补它:

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);

因此,现在您的第一个版本可以按预期工作。但这可能会在您的整个代码中引起副作用,因此请谨慎操作。