使用javascript/closure删除附加元素?
我现在有一个点击事件,当被选中时,会在.header中添加一个搜索框,这是通过google闭包完成的。我现在的问题是,如果单击“关闭”按钮,我想删除这个附加元素。我知道使用jQuery只需要.remove(),但我不确定如何在闭包或js中实现这一点。有人能告诉我怎么做吗 当前代码:使用javascript/closure删除附加元素?,javascript,google-closure,google-closure-library,Javascript,Google Closure,Google Closure Library,我现在有一个点击事件,当被选中时,会在.header中添加一个搜索框,这是通过google闭包完成的。我现在的问题是,如果单击“关闭”按钮,我想删除这个附加元素。我知道使用jQuery只需要.remove(),但我不确定如何在闭包或js中实现这一点。有人能告诉我怎么做吗 当前代码: if(goog.dom.getElementsByClass('pe')){ var searchCtn = goog.dom.getElementsByClass('search'); v
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);
只用
这是jquery,但很容易转换为普通的旧javascript或任何您所处的框架。功能如下:
goog.dom.removeNode = function(node) {
return node && node.parentNode ? node.parentNode.removeChild(node) : null;
};
因此,代码如下所示(假设搜索框是关闭按钮的父项):
感谢您的回复,this.parentNode以关闭按钮的父节点为目标,对吗?如果追加的元素不是close buttons父元素,我该如何定位它?@styler所以只要
goog.dom.removeNode(searchCtn)代码>
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);