Как получить innerHTML div, который содержит div?

Мне интересно, как я могу получить 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 (если он существует) дочерних узлов?

chevybow 03.08.2018 17:49

Хорошо, что является html внутри выбранного div, так что это правильно. Если вам нужен просто текст, используйте вместо него .textContent.

Reinstate Monica Cellio 03.08.2018 17:49

Что значит text + text? Что означает каждый text? @Archer он не использует jQuery

clabe45 03.08.2018 17:49

Да, мне нужен только текст, в этом случае привет. Я попробую .text (); :)

Suttero 03.08.2018 17:50

@ clabe45 Я знал это, но все равно допустил опечатку - теперь исправлено, спасибо :)

Reinstate Monica Cellio 03.08.2018 17:50

@Suttero - обновить страницу. Мой комментарий был плохим, но теперь хорошим.

Reinstate Monica Cellio 03.08.2018 17:50
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
6
63
1

Ответы 1

Если можно, я бы поместил 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>

Таким образом, у вас будет больше контроля над ним, если вы хотите добавить больше контента.

Другие вопросы по теме