Я пытаюсь извлечь текст из html, используя атрибут innerText, например: console.log(document.getElementById('row').innerText)
Однако вывод не такой, как я вижу в браузере.
Причина различия в том, что элемент table в первой ситуации содержит стиль inline-block (см. ниже).
Как я могу решить эту проблему, чтобы получить текст в том же формате, что и в браузере?
Ситуация № 1: Входные данные:
<html>
<body id='test'>
<table style="display: inline-block">
<tr>
<td>1</td>
</tr>
<tr>
<td>2</td>
</tr>
</table>
<table style="display: inline-block">
<tr>
<td>3</td>
</tr>
<tr>
<td>4</td>
</tr>
</table>
</body>
</html>
Ожидаемый результат:
1 3
2 4
Фактический результат
1
2
3
4
Ситуация № 2: Ввод:
<html>
<body id='test'>
<table>
<tr>
<td>1</td>
</tr>
<tr>
<td>2</td>
</tr>
</table>
<table>
<tr>
<td>3</td>
</tr>
<tr>
<td>4</td>
</tr>
</table>
</body>
</html>
Ожидаемый результат:
1
2
3
4
Фактический результат
1
2
3
4
#row
, поэтому вашconsole.log(document.getElementById('row').innerText)
выдает ошибку. - person CertainPerformance   schedule 16.02.2019#row
выглядит так, будто это просто опечатка) - person CertainPerformance   schedule 16.02.2019id=test
, в том виде, в котором он отображается в порядке документа (1, 2, 3, 4), как это делает innerText - вы не можете получить его в том виде, в котором он отображается на странице, если только вы также визуализируете его, что потребует от вас полного разбора HTML и стилей или, по крайней мере, просмотра дерева DOM и применения стилей. - person Stephen P   schedule 16.02.2019