Извлеките и объедините все текстовые дочерние узлы

#javascript #html

#javascript #HTML

Вопрос:

Предположим, у меня есть список узлов, созданный путем динамического добавления текстовых дочерних узлов следующим образом:

 const container = document.getElementById('container')
for (var i = 0;i < 5;i  ) {
  let containerChild = document.createTextNode('a')
   container.appendChild(containerChild)
}     
 <div id="container"></div> 

Предполагая, что добавляются только текстовые узлы, каков самый быстрый / самый чистый способ извлечения полного текста? В приведенном выше случае я ищу, чтобы получить строку aaaaa . Конечно, я могу перебирать родительский узел container , чтобы извлечь каждый дочерний узел, а затем объединить их. Просто интересно, есть ли лучший способ. Спасибо.

Ответ №1:

Родительский узел .textContent автоматически объединит их:

 const container = document.getElementById('container')
for (var i = 0;i < 5;i  ) {
  let containerChild = document.createTextNode('a')
   container.appendChild(containerChild)
}

const text = container.textContent;
console.log(text, text.length); 
 <div id="container"></div> 

( .innerHTML тоже работает)