Мне интересно, как я могу получить innerHTML из div, если он содержит элемент div и текст. Мой код выглядит так:
var outer = document.getElementById("outer").childNodes;
outer.forEach(function(e) {
console.info(e.innerHTML);
});<div id = "outer">
<div class = "item">
<div class = "icon"></div>
Hello
</div>
</div>Как видите, innerHTML получает дочерний div и текст, но я хочу только текст. Можно ли сделать это без расщепления что ли?
Хорошо, что является html внутри выбранного div, так что это правильно. Если вам нужен просто текст, используйте вместо него .textContent.
Что значит text + text? Что означает каждый text? @Archer он не использует jQuery
Да, мне нужен только текст, в этом случае привет. Я попробую .text (); :)
@ clabe45 Я знал это, но все равно допустил опечатку - теперь исправлено, спасибо :)
@Suttero - обновить страницу. Мой комментарий был плохим, но теперь хорошим.



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


Если можно, я бы поместил Hello в отдельный контейнер.
var outer = document.getElementById("outer");
var firstItem = outer.children[0];
var text = firstItem.querySelector('.text').innerHTML;
console.info(text);<div id = "outer">
<div class = "item">
<div class = "icon"></div>
<span class = "text">Hello</span>
</div>
</div>Таким образом, у вас будет больше контроля над ним, если вы хотите добавить больше контента.
Вы хотите только передать привет или вернуть весь внутренний html (если он существует) дочерних узлов?