Javascript GetElementsByTagName失败,尽管getElementById可以工作

Javascript GetElementsByTagName失败,尽管getElementById可以工作,javascript,Javascript,下面的脚本工作得很好,但是当我用GetElementsByTagName尝试它时失败了。ID只能使用一次,我想将其用于('a',h1,h2) 欢迎提出想法、想法或解决方案 window.setInterval(function(){ var t = document.getElementById('test'); var z = 'rgb('+ (Math.floor(Math.random() * 184)) + ',' + (Math

下面的脚本工作得很好,但是当我用
GetElementsByTagName
尝试它时失败了。
ID
只能使用一次,我想将其用于(
'a',h1,h2

欢迎提出想法、想法或解决方案

window.setInterval(function(){
    var t = document.getElementById('test');  
    var z = 'rgb('+ (Math.floor(Math.random() * 184)) + ',' 
                  + (Math.floor(Math.random() * 102)) + ',' 
                  + (Math.floor(Math.random() * 184)) + ')';                    
    t.style.color = z
}, 1000);

getElementById只返回单个元素,但返回getElementsByTagName数组。您可以使用此代码

window.setInterval(function(){
var t = document.getElementsByTagName('h1');  
var z = 'rgb(' + (Math.floor(Math.random() * 184)) + ',' 
                 + (Math.floor(Math.random() * 102)) + ',' 
                     + (Math.floor(Math.random() * 184)) + ')';
for(var i=0;i < t.length; i++)
{
  t[i].style.color = z
}

}, 1000);
window.setInterval(函数(){
var t=document.getElementsByTagName('h1');
var z='rgb(+(Math.floor(Math.random()*184))+','
+(Math.floor(Math.random()*102))+','
+(Math.floor(Math.random()*184))+');
对于(变量i=0;i
显示不起作用的代码。我们无法确定如何修复已经运行的代码。您是否可以发布完整的代码,或者准备一个plunkTry
querySelectorAll
并对其进行迭代。不要使用
for in
循环对
t
进行迭代
console.log(i)
将向您显示它还将迭代
长度
项目
名称项
属性。是的,您是对的@Cerbrus,我编辑了答案。太棒了!添加for循环修复了它!!