我有一个元素正在使用以下行注入和存储:
this._lastPromo = this.$$('#inject-point').appendChild(promo);
我现在需要在稍后的代码库中删除此元素。我尝试了以下两种方案:
this.$$('#inject-point').removeChild(this._lastPromo);
和
this._lastPromo.parentNode.removeChild(this._lastPromo);
我收到以下错误:
无法执行' removeChild' on'节点':要删除的节点是 不是这个节点的孩子。
并且:
未捕获的TypeError:无法读取属性' removeChild'为null
问题: 如何从文档中删除此特定元素?
答案 0 :(得分:0)
经过调试后,我发现this.$$('#inject-point').appendChild(promo);
只返回新创建的DOM对象,但它没有保留对它在DOM中的位置的引用。
父对象未记录在对象上。
要解决此问题,我将新DOM对象存储到属性中,然后将其注入DOM,然后将其删除,如下所示:
Polymer.dom(this._lastPromoEl).parentNode.removeChild(this._lastPromoEl);