我目前有一个点击事件,当选中将搜索框附加到.header时,这是使用谷歌关闭完成的。我现在的问题是,如果我单击关闭按钮,我想删除此附加元素。我知道使用jQuery只需要.remove()但我不确定如何在闭包或vanilla 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);
答案 0 :(得分:2)
功能如下:
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);
答案 1 :(得分:0)
$(function() {
$('span').click(function() {
this.parentNode.removeChild(this);
});
});
这是jquery,但很容易转换为普通的旧javascript,或者你所处的框架。