Я использую приведенный ниже код для получения значения ячейки.
alert(document.getElementById("table-body-positions").rows[0].cells[3].innerHTML);
Значение Td составляет
<td><a data-action = "details"><span><span class = "">2019/01/04 13:36:19</span></span></a></td>
Получаю вот такой результат.
<a data-action = "details"><span><span class = "">2019/01/04 13:36:19</span></span></a>
Но я просто хочу получить 2019/01/04 13:36:19
Такая же проблема здесь для этого тд.
<td><a data-action = "update-limit" data-filter = "limit">1.18809 (505.4)<br>$808.64</a></td>



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Было бы проще, если бы вы могли добавить уникальный идентификатор или имя класса к интересующему вас диапазону.
Используйте innerText, а не innerHTML.
console.info(document.getElementsByTagName('td')[0].getElementsByTagName('span')[1].innerText)<table>
<td><a data-action = "details"><span><span class = "">2019/01/04 13:36:19</span></span></a></td>
</table>Вместо InnerHTML вы можете использовать innerText
alert(document.getElementById("table-body-positions").rows[0].cells[1].innerText);Найдите каждый td по имени тега, а затем рекурсивно проверяйте его содержимое, пока не будет найден nodeTypeTEXT_NODE.
Это работает лучше всего, если у вас нет фиксированной HTML-структуры в ваших tds, как это могло бы выглядеть.
Никаких идентификаторов и классов не требуется.
function recursiveSearch(elem){
if (elem.nodeType === Node.TEXT_NODE){
//text was discovered
return elem.data.replace("\n", "").trim();
}
const nodes = elem.childNodes;
return Object.keys(nodes).map(key=>recursiveSearch(nodes[key])).join("");
}
const tds = document.getElementsByTagName('td');
const res = Object.keys(tds).map(key=>{
const td = tds[key];
return recursiveSearch(td);
});
console.info(res);<table>
<td>
<a data-action = "details">
<span>
<span class = "">2019/01/04 13:36:19</span>
</span>
</a>
</td>
<td>
<a data-action = "update-limit" data-filter = "limit">
1.18809 (505.4)<br>$808.64
</a>
</td>
</table>Ваш код кажется слишком сложным только для того, чтобы получать предупреждения innerHTML. Вот мое решение. Codepen
HTML
<table id = "table-body-positions">
<tr>
<td><a data-action = "details"><span><span id = "details">2019/01/04 13:36:19</span></span></a></td>
<td><a data-action = "update-limit" data-filter = "limit"><span id = "limit">1.18809 (505.4)<br>$808.64</span></a></td>
</tr>
</table>
JS
let details = document.getElementById("details").innerHTML;
let limit = document.getElementById("limit").innerText;
alert(details);
alert(limit);
К сожалению, я не могу использовать идентификатор диапазона вместо класса диапазона. Я не могу ничего управлять, просто позвонив с другого веб-сайта. Спасибо за ответ.
ну, вы читаете innerHTML, когда хотите прочитать текст.