gpt4 book ai didi

javascript - 检索 html 表格单元格内的 html 元素

转载 作者:行者123 更新时间:2023-11-28 07:07:12 24 4
gpt4 key购买 nike

我有一个 html 表格。在我的应用程序中,我在应用程序中动态添加 div。它为用户提供了其应用程序的光学 View 。

我正在尝试解析 html 表数据,但遇到问题。

这是我的第一次尝试:

var tblworkout = document.getElementById("tblWorkout");
for (i = 1; i < tblworkout.rows.length; i++) {
console.log("table row count:" + i)
for (j = 1; j < tblworkout.rows[i].cells.length; j++) {
console.log("td count for row " + i + ": " + j);

for (k = 0; tblworkout.rows[i].cells[j].getElementsByTagName("div").length; k++) {
console.log("div count for td " + j + ": " + k);
}
}
}

这是第二次尝试:

var tblworkout = document.getElementById("tblWorkout");
for (i = 1; i < tblworkout.rows.length; i++) {
console.log("table row count:" + i)
for (j = 1; j < tblworkout.rows[i].cells.length; j++) {
console.log("td count for row " + i + ": " + j);

var tdhtml = tblworkout.rows[i].cells[j].innerHTML;
console.log(tdhtml);

for (k = 0; k < tdhtml.getElementsByTagName("div").length; k++) {
console.log(k);
}

}
}

第二次尝试让我更接近,但事实证明你不能在 html 字符串中使用 getElementsByTagName。

我应该怎么做才能解决这个问题?

最佳答案

您不需要解析innerHTML,只需查询每个td内的元素即可:

var tblworkout = document.getElementById("tblWorkout");
for (var i = 1; i < tblworkout.rows.length; i++) {
console.log("table row count:" + i)
for (j = 1; j < tblworkout.rows[i].cells.length; j++) {
console.log("td count for row " + i + ": " + j);

var td = tblworkout.rows[i].cells[j];
var divs = td.getElementsByTagName("div"); // <-- select divs collection in td

console.log(divs);

for (var k = 0; k < divs.length; k++) {
console.log(divs[k]);
}
}
}

当您在循环中声明变量时,不要忘记放置 var,否则您将在全局范围内声明它们。

关于javascript - 检索 html 表格单元格内的 html 元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31617239/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com