содержимое ячейки таблицы

#javascript

#javascript

Вопрос:

моя цель — создать javascript, который я буду запускать с помощью своего браузера (на чужом сайте, а не на моем), который будет принимать число с этого сайта и ждать некоторое время в зависимости от числа на сайте, прежде чем нажать кнопку.

число довольно сложно найти: на этом сайте есть таблица, в этой таблице есть ячейка таблицы, я получил идентификатор из ячейки (пока назовем ее «tCell») внутри этой ячейки есть другая таблица, у которой нет идентификатора, в этой таблице естьэто строка (опять же без идентификатора), в этой строке есть две ячейки, и число является единственным содержимым этой ячейки.

теперь, как мне перейти от той ячейки, для которой у меня есть идентификатор, к нужному контенту? (как найти содержимое ячейки, а затем перейти к правой строке таблицы среди этого содержимого)

я думаю, мне придется использовать что-то вроде этого:

 var something = document.getElementById('tCell');
  

и что потом…

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

1. Итак, не могли бы вы показать HTML-источник / ссылку на этот сайт?

2. Если у вас есть jQuery, это довольно просто. Если у вас есть, я могу подсказать код.

3. Кратчайший способ получить содержимое первой ячейки первой строки таблицы в something: something.getElementsByTagName("table")[0].rows[0].cells[0].textContent . Поскольку этот элемент также является первой ячейкой внутри чего-либо, этого достаточно : something.getElementsByTagName("td")[0].textContent . Если вам нужно поддерживать IE, добавьте тест условий, чтобы проверить, нужно ли вам использовать innerText или нет.

Ответ №1:

 var something = document.getElementById('tCell');
var table = something.firstChild;
var tbody = table.firstChild;
var row = tbody.firstChild;
var firstTd = row.firstChild;
var secondTd = firstTd.nextSibling;    
var textNode = secondTd.firstChild;
var textNodeValue = textNode.nodeValue;
  

Ответ №2:

document.getElementById('tCell').getElementsByTagName("table")[0].getElementsByTagName("tr")[0].getElementsByTagName("td")[1].innerHTML

Предоставит вам номер в строковом формате.

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

1. innerHTML отображает не только текст, но и любой HTML-код, если он существует.

2. Другого содержимого этого поля нет — так сказано в вопросе.