Получение последнее значение поля из объектов <td>, начинающегося с текста

173
01 сентября 2021, 16:40

Всем привет. Есть разметка html типа:

<tr class="">
<td class="date">22:14</td>
<td class="other" style="white-space: nowrap;">Per</td>
<td width="100%">GG: Текст1</td></tr>
<tr class="">
<td class="date">22:17</td>
<td class="other" style="white-space: nowrap;">Per1</td>
<td width="100%">Текст2</td></tr>
<tr class="">
<td class="date">22:20</td>
<td class="other" style="white-space: nowrap;">Per</td>
<td width="100%">GG: Текст3</td></tr>
<tr class="">
<td class="date">22:20</td>
<td class="other" style="white-space: nowrap;">Per</td>
<td width="100%">Текст4</td></tr>

Подскажите, как при помощи js найти значение поля td начинающегося с GG:? Если таких значений несколько, то брать последнее. В данном случае это Текст3. (Их может быть много)

Была попытка начать делать так. Но всё время получаю undefined.

var divs = document.getElementsByTagName("td");
var selectionDiv = document.getElementsByClassName("other");
for(var i = 0; i < divs.length;i++)
//alert(divs[i].val);
{
   if(divs[i].val == selectionDiv)
   {
     var previous = divs[i - 1];
     var next = divs[i + 1];
   }
}
Answer 1

Например так :

const tds = [...document.getElementsByTagName('td')], 
  gg = 'GG: ', 
  filtered = tds.filter(e => e.textContent.startsWith(gg)).slice(-1)[0], 
  a = filtered && filtered.textContent.substring(gg.length) 
 
console.log(a)
<table> 
  <tr class=""> 
    <td class="date">22:14</td> 
    <td class="other" style="white-space: nowrap;">Per</td> 
    <td width="100%">GG: Текст1</td> 
  </tr> 
 
  <tr class=""> 
    <td class="date">22:17</td> 
    <td class="other" style="white-space: nowrap;">Per1</td> 
    <td width="100%">Текст2</td> 
  </tr> 
 
  <tr class=""> 
    <td class="date">22:20</td> 
    <td class="other" style="white-space: nowrap;">Per</td> 
    <td width="100%">GG: Текст3</td> 
  </tr> 
 
  <tr class=""> 
    <td class="date">22:20</td> 
    <td class="other" style="white-space: nowrap;">Per</td> 
    <td width="100%">Текст4</td> 
  </tr> 
</table>

READ ALSO
Сессия в React.js + Redux + JWT

Сессия в React.js + Redux + JWT

Всем приветДелаю приложение на React

86
Как получить ответ со страницы ajax и вывести его без перезагрузки страницы?

Как получить ответ со страницы ajax и вывести его без перезагрузки страницы?

Учу js, выдумываю задачи, зациклилась на одной, очень хочется послушать знающий людей)) Есть форма с одним полем ввода - промокодВвожу промокод...

317
Как сделать на странице автоматическое срабатывание элемента?

Как сделать на странице автоматическое срабатывание элемента?

Как сделать на странице автоматическое срабатывание элемента button onclick, при выборе в select-е определенного значения и сохранение его на другой...

116
Как сгенерировать файл docx в браузере на клиенте?

Как сгенерировать файл docx в браузере на клиенте?

Есть ли библиотека с помощью которой можно генерировать файлы docx на клиенте, без node js

131