Получите дочерний узел и удалите его из родительского, где текстовый узел может получить, используя свойство Node#childNodes
, и удалите его из DOM, используя метод Node#removeChild
или просто используйте ChildNode#remove
метод удаления узла.
box.childNodes[0].remove();
// or
box.removeChild(box.childNodes[0])
Еще две вещи, добавляющие свойство
className
к textNode, не вносят никаких изменений (что не имеет никакого смысла)и когда вы привязываете
mouseout
ссылку на функцию использования обработчика событий, не используйте ее как
disappear()
, которая вызывает и устанавливает возвращаемое значение в качестве обратного вызова.
box.addEventListener('mouseout', disappear);
// remove parentheses -------------------^^--
let container = document.body;
let box = document.createElement('div');
container.appendChild(box);
box.className = 'box';
let boxText = document.createTextNode(1);
box.addEventListener('mouseover', function() {
box.append(boxText);
});
box.addEventListener('mouseout', disappear);
function disappear() {
console.log('worked');
box.childNodes[0].remove();
//box.removeChild(box.childNodes[0])
}
.box {
width: 100px;
height: 100px;
background: grey;
}