在JavaScript

时间:2015-06-24 07:45:57

标签: javascript

有没有办法用javascript无法修改html来定位每个表元素?

这些表是用户控制的,缺少ID和类,我所能做的就是:

var table = document.getElementsByTagName('table');

有没有可能修改每个表格?应该使用相同的代码,但我不想在循环遍历每个表格单元格时在表格之间混合表格数据。

我已尽力尝试解释我想要实现的目标,但如果我需要详细说明,请启发我。提前致谢!

编辑:Fyi,我在这个项目中无法使用jQuery。

1 个答案:

答案 0 :(得分:1)

这是element.getElementsByTagName上的文档,其中Me.Name声明返回HTMLCollection。所以这是所有表格,你可以循环它们来单独操作它们。

也可以从任何元素调用它,并从该节点开始搜索。因此,首先在文档上调用它以查找页面中的所有表,然后在每个表上调用它时,它将仅返回该表元素的匹配子节点。

像这样使用:

// Get all the tables in the page
var tables = document.getElementsByTagName('table');

// Iterate the tables and operate on the internals of each separately
for (var i = 0; i < tables.length; i++) {

    // calling this on the table will limit the search to children of this table
    var tds = tables[i].getElementsByTagName('td');

    for (var j = 0; j < tds.length; j++) {
        console.log("TD contains: " + tds[j].innerHTML);
    }

}

我还制作了fiddle for good measure