我是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秒......
答案 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)";
}
}
希望有所帮助。