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

标签 javascript

我有一个 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/

相关文章:

javascript - 序列化嵌套模型的 where 条件

javascript - "info"元素未在 JavaScript 中使用 ".innerHTML"进行更新?

javascript - $document.ready() 在 servlet 中不工作

javascript - 正则表达式查找 [code] 标签的内部内容

javascript - className 和 classList 的区别

javascript - 谷歌应用程序脚本数组从顶部删除重复值

javascript - 无法在 Express 中呈现 swig 模板

javascript - 请Jison忽略一些不必要的细节

javascript - 通过 Meteor.js 中同一路由内的 anchor 标记更新 View

javascript - RegEx 替换为在主题字符串中找到的值