我目前有一个click事件,当选中该事件时,会将一个搜索框附加到.header上,这是使用Google闭包完成的。我现在的问题是,如果单击关闭按钮,我想删除此附加元素。我知道使用jQuery仅需要.remove(),但是我不确定如何在闭包或普通js中实现这一点。谁能建议我该怎么做?
当前代码:
if(goog.dom.getElementsByClass('pe')){
var searchCtn = goog.dom.getElementsByClass('search');
var headerWrapper = goog.dom.getElementByClass('header');
goog.dom.append(headerWrapper,searchCtn);
}
var closeButton = goog.dom.getElement('close');
goog.events.listen(closeButton, goog.events.EventType.CLICK, function() {
console.log('Remove appended');
}, false, this);
最佳答案
函数是这样的:
goog.dom.removeNode = function(node) {
return node && node.parentNode ? node.parentNode.removeChild(node) : null;
};
因此,代码如下所示(假设搜索框是关闭按钮的父级):
goog.events.listen(closeButton, goog.events.EventType.CLICK, function() {
goog.dom.removeNode(this.parentNode);
}, false, this);
关于javascript - 使用javascript/closures删除附加元素?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9485285/