脚本JS与For循环表

时间:2014-04-17 00:23:05

标签: javascript html

我是Javascript的初学者,我希望在解析html页面时编写一个修改(某些)表格样式的脚本。

我有一个(希望)MWE这样的剧本:

<script type="application/javascript">
<!--
    var Ri = document.getElementsByTagName("tr");
    var Ca = document.getElementsByTagName("td");
    var nRi = Ri.length;
    var nCa = Ca.length;
    var nCo = nCa/nRi;
    for (var i = 0; i < nCo; i++)
    {
        Ca[i].style.backgroundColor="rgb(221,247,255)";
    }
    for (var i = nCo; i < nCa; i = i+nCo)
    {
        Ca[i].style.backgroundColor="rgb(221,247,255)";
    }
//-->
</script>

但是,正如您可以轻松验证的那样,只有在html页面中有一个表时才能正常

问题如下。我们假设html页面中有 m 表,其属性为class="tabx"。如何编辑脚本以便在页面中使用属性class="tabx" m 表进行计数,例如 j = 1,...,m ,执行循环

for (var i = 0; i < nCo; i++)
{
    Ca[i].style.backgroundColor="rgb(221,247,255)";
}
for (var i = nCo; i < nCa; i = i+nCo)
{
    Ca[i].style.backgroundColor="rgb(221,247,255)";
}

在每个这样的表上?

谢谢,我在关键字搜索的网络上找不到这一点,甚至在意大利语的文档中也没有找到这么多...而且我知道用CSS代替它需要2秒......

1 个答案:

答案 0 :(得分:1)

这是你如何做到的。

    var t1 = document.getElementsByClassName("tabx");

for(index = 0; index < t1.length; ++index)
{
        var Ri = t1[index].getElementsByTagName("tr");
        var Ca = t1[index].getElementsByTagName("td");
        var nRi = Ri.length;
        var nCa = Ca.length;
        var nCo = nCa / nRi;
        for (var i = 0; i < nCo; i++) {
            Ca[i].style.backgroundColor = "rgb(221,247,255)";
        }
        for (var i = nCo; i < nCa; i = i + nCo) {
            Ca[i].style.backgroundColor = "rgb(221,247,255)";
        }
}

http://jsfiddle.net/a5F9b/1/

希望有所帮助。