Javascript getElementByTagName不工作?
在下面的代码中,我通过使用javascript动态地将类“偶数”分配给偶数行,将不同的背景色应用于所有偶数行。我在加载body标记时调用alternamte()函数 起初,我使用getElementById获取表对象,代码运行良好。但是,我想将此样式应用于页面上的所有表,因此我需要使用get element by tag name 一旦我更改了getElementByTagName,我的代码就停止工作了,我一直在试图找出问题的根源,但没有成功。我想知道是否有人能帮助我理解为什么我的代码在我更改getElementByTagName后停止工作Javascript getElementByTagName不工作?,javascript,Javascript,在下面的代码中,我通过使用javascript动态地将类“偶数”分配给偶数行,将不同的背景色应用于所有偶数行。我在加载body标记时调用alternamte()函数 起初,我使用getElementById获取表对象,代码运行良好。但是,我想将此样式应用于页面上的所有表,因此我需要使用get element by tag name 一旦我更改了getElementByTagName,我的代码就停止工作了,我一直在试图找出问题的根源,但没有成功。我想知道是否有人能帮助我理解为什么我的代码在我更改g
<script type="text/javascript">
function alternate(){
var table = document.getElementsByTagName("table");
var rows = table.getElementsByTagName("tr");
for(i = 0; i < rows.length; i++){
//change style of even rows
//(odd integer values, since we're counting from zero)
if(i % 2 == 0){
rows[i].className = "even";
}
}
}
</script>
函数替换(){
var table=document.getElementsByTagName(“表”);
var rows=table.getElementsByTagName(“tr”);
对于(i=0;i
使用getElementsByTagName
而不是getElementByTagName
(getElementsByTagName返回多个节点元素)
它是复数形式。它返回一个HTMLCollection
var table = document.getElementsByTagName("table")[0];
(如果您确信页面上有一个
。)
如果要对所有
元素执行操作,必须执行以下操作:
var tables = document.getElementsByTagName("table");
for (var ti = 0; ti < tables.length; ++ti) {
var rows = tables[ti].getElementsByTagName("tr");
for(var i = 0; i < rows.length; i++){
//change style of even rows
//(odd integer values, since we're counting from zero)
if(i % 2 == 0){
rows[i].className = "even";
}
}
}
var tables=document.getElementsByTagName(“表”);
对于(变量ti=0;ti
getElementsByTagName()返回与选择器匹配的数组。因此尝试
var table = getElementsByTagName('table')[indexnumber];
请保持开发人员控制台打开。它会指出错误,我建议您使用调整代码以使用
行[i].className+=“偶数”代码>以说明可能已经有类的任何行。您的方法将覆盖它们…仅供参考,您不需要第二个getElementsByTagName(“tr”)
,您只需使用表的.rows
集合,谢谢您的回复。我将其更改为getElementsByTagName,但它仍然不起作用:(抱歉,我很忙。我知道您已经得到了答案,这是另一种方式。感谢您的回复,这对我很有效:)但是,由于我们正在向您的代码中添加“[0]”,这是否意味着此样式仅应用于页面上的第一个表?如果我想在页面上的所有表中都应用此样式,该怎么办?也没有getElementsByTagName()
函数。它应该是元素或文档的方法,。
var table = getElementsByTagName('table')[indexnumber];