Мне нужно установить текст <td>в качестве переменной - PullRequest
0 голосов
/ 25 июня 2018

На работе мы используем таблицу, которая помещает элементы в список. Идентификационный номер отправления является ссылкой ... но старый сайт мы больше не используем. Я хотел бы получить идентификатор отправления и использовать его в переменной, чтобы заменить ссылку ссылкой на новый сайт.

Есть несколько проблем, с которыми я столкнулся. Прежде всего, у меня нет прав на прямое редактирование HTML-кода страницы, я использую tamperMonkey для изменения кода только на моем компьютере.

Во-вторых, таблица не очень хорошо использует классы, и те, которые они используют, повторно используются для других, которые мне не нужно захватывать (по крайней мере, пока).

Вот пример кода для одного из тех, что мне нужно взять:

<td class="filterable check hero 169800136261000-1 ">
        <div class="relative">
            <a href="https://oldWebsite.com/services/report/shipment-display.html?shipmentId=169800136261000" target="_blank">169800136261000</a>
        </div>
    </td>

<div class="relative"> используется внутри почти каждого в таблице.

1 Ответ

0 голосов
/ 25 июня 2018

Вы можете выбрать каждый a с href, который включает shipmentId, и заменить его href новым сайтом:

document.querySelectorAll('table a[href*="shipmentId"]')
  .forEach((a) => {
    const shipmentId = a.href.match(/\d+$/)[0];
    a.href = 'https://newsite.com/somepage?shipmentId=' + shipmentId;
  });
<table>
  <tr>
    <td class="filterable check hero 169800136261000-1 ">
      <div class="relative">
        <a href="https://oldWebsite.com/services/report/shipment-display.html?shipmentId=169800136261000" target="_blank">169800136261000</a>
      </div>
    </td>
  </tr>
</table>
...