Как мне переписать этот код jquery в чистый код javascript.
$(this).parent().parent().parent().remove();
Я сделал это:
this.parentNode.removeChild(this); // not working.
Мой html-код находится внутри моего javascript
div.innerHTML =
'<img src = "img.png">
<div class = "first">
<div class = "second">
<a href = "#">click me to remove img </a>
</div>
</div>'
Ну, кроме этого, я лично никогда бы не стал писать эту ужасную строчку jQuery с самого начала. Ответ… то, что он сказал.
this.parentNode.parentNode.parentNode.remove()


![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Похоже, вы пытаетесь удалить текущий элемент. Вы можете сделать это с помощью метода Удалить
document.getElementById('world').parentNode.parentNode.remove()<div>
<p>
<span id = "hello">Hello</span>
<span id = "world">World</span>
</p>
</div>
<div>
<p>
<span id = "brass">Brass</span>
<span id = "monkey">Monkey</span>
</p>
</div>
<div>
<p>
<span id = "im">I'm</span>
<span id = "batman">Batman</span>
</p>
</div>Еще одна вещь, которую вы можете сделать вместо использования parentNode тысячу раз, - это использовать ближайший
document.getElementById('world').closest('.group').remove()<div class = "group">
<p>
<span id = "hello">Hello</span>
<span id = "world">World</span>
</p>
</div>
<div class = "group">
<p>
<span id = "brass">Brass</span>
<span id = "monkey">Monkey</span>
</p>
</div>
<div class = "group">
<p>
<span id = "im">I'm</span>
<span id = "batman">Batman</span>
</p>
</div>
Вы пропустили 2 вызова
parentNode, иthisдолжен быть htmlelement, и он не будет дочерним, поскольку элемент не может находиться в двух местах одновременно. В основном то, что у вас есть, никогда не будет работать