我在不使用任何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();
请帮助我吗?
答案 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);
因此,现在您的第一个版本可以按预期工作。但这可能会在您的整个代码中引起副作用,因此请谨慎操作。