Как получить innerHTML внутри тегов привязки, который извлекает только содержимое, а не теги внутри?

#javascript #anchor

#javascript #привязка

Вопрос:

Я хочу получить содержимое тега привязки

 <a id="1"><span class="italic">Hello There It Is Italic Text</span></a>
 

однако, когда я использую следующий код JS

 var resultData = document.getElementById("1").inneHTML;
console.log(resultData);
 

что я получу, так это

 <span class="italic">Hello There It Is Italic Text</span>
 

в качестве результирующих данных

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

в некоторых случаях даже может быть несколько тегов span, таких как

 <a id="2"><span class="italic"><span class="highlight">Hello There It Is Italic Text</span></span></a>
 

или

 <a id="3"><span class="italic">Hello There It Is <span class="highlight">Italic</span> Text</span></a>
 

Поэтому я хочу, чтобы результирующие данные были «Привет, это курсив» во всех случаях.
То, что я хочу, — это чистое содержимое тега привязки без какого-либо дочернего тега.

Можно ли этого достичь с помощью чистого Javascript, если да, то как

Пожалуйста, помогите

Ответ №1:

Получить textContent свойство элемента.

 console.log(
  document.getElementById('1').textContent,
  document.getElementById('2').textContent,
  document.getElementById('3').textContent
) 
 <a id="1"><span class="italic">Hello There It Is Italic Text</span></a>
<a id="2"><span class="italic"><span class="highlight">Hello There It Is Italic Text</span></span></a>
<a id="3"><span class="italic">Hello There It Is <span class="highlight">Italic</span> Text</span></a> 

Комментарии:

1. Большое вам спасибо, вы действительно спасли мой день

2. @KaranParikh: рад помочь 🙂

Ответ №2:

Для извлечения текста, а не всей разметки, вы должны использовать textContent , не innerHTML .