Я пытаюсь преобразовать приведенный ниже JQuery
код в ванильную Javascript
версию, но застрял в цикле. Это моя текущая попытка:
Javascript:
var x = document.getElementById("Table1"), d = x.getElementByTagName("td");
for (let row of x.rows)
{
for(let cell of row.cells)
{
var td_content = $(this).text();
if (td_content != "") {
hide = false;
}
}
}
А ниже исходный код JQuery
, который я пытаюсь преобразовать.
JQuery:
$('#Table1 td').each(function()
{
var td_content = $(this).text();
if (td_content != "") {
hide = false;
}
})
Может быть, вы можете использовать документ.querySelectorAll() как document.querySelectorAll("#Table1 td")
. Затем вы можете пройти возвращенный NodeList
с помощью цикла for
.
Я бы использовал document.querySelectorAll
для простого преобразования в vanilla JS.
var hide = true;
var cells = document.querySelectorAll('#Table1 td');
cells.forEach(function(cell) {
if (cell.innerText !== '') {
hide = false;
}
});
console.info(hide);
Что такое .rows? просто выполните x.getElementsByTagName("td") и переберите этот массив