удалить добавленный элемент с помощью javascript / closure? - PullRequest
1 голос
/ 28 февраля 2012

В настоящее время у меня есть событие click, которое, когда выбрано, добавляет окно поиска к .header, это делается с помощью Google Closure. Моя проблема сейчас заключается в том, что если я нажму кнопку закрытия, я хочу удалить этот добавленный элемент. Я знаю, что для использования 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); 

Ответы [ 2 ]

2 голосов
/ 28 февраля 2012

Функция такова:

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); 
0 голосов
/ 28 февраля 2012

Просто используйте element.removeChild (y)

$(function() {
  $('span').click(function() {    
    this.parentNode.removeChild(this);
  });
});

Это jquery, но его очень легко перевести на простой старый javascript или любой другой фреймворк, в котором вы находитесь.

...