Как задать событие создаваемому элементу в JavaScript

Я хочу создать элемент div JS кодом
Я делаю так:

var node = document.createElement("div");
node.className = "el"
node.onclick = this.remove();
...

Дальше идёт append node к ещё одному div

Результат:

<div class="el">

Вопрос: Где onclick?

Я пытался сделать вот так:

node.onclick = "this.remove()"
node.onclick = function() {this.remove()}
node.onclick = () => {this.remove()}
node.onclick = this.remove();
node.addEventListener("onclick", (event) => {node.remove()}, false)

Ничего из этого не работает и даже не выдаёт ошибку, зато если просто ввести node.remove(), то оно удаляет элемент

То же самое и с другими событиями элемента

Ну так как мне добавить событие нажатия (желательно через node.onclick)?


Ответы (3 шт):

Автор решения: Igor

var node = document.createElement("div");
node.className = "el";
node.onclick = function() {
  this.remove()
};
document.getElementById('test').append(node);
#test {
  border: 2px solid black;
  padding: 5px;
}

.el {
  border: 2px solid lightgreen;
  width: 120px;
  height: 20px;
}
<div id="test"></div>

→ Ссылка
Автор решения: Евгений Платов

//вариант 1 (вы присваиваете результат функции вызванной у непонятного контекста)

node.onclick = function(){this.remove()};

//вариант 2

node.addEventListener('click',function(){
  this.remove()
});
→ Ссылка