我目前有一个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/

10-10 18:00