Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/476.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript-简化循环和函数_Javascript_Html_Loops - Fatal编程技术网

Javascript-简化循环和函数

Javascript-简化循环和函数,javascript,html,loops,Javascript,Html,Loops,大家好,我使用StackOverflow已经有一段时间了,总是通过搜索框找到正确答案,但这次我找不到!这就是我请求你帮助的原因。 我相信解决方案很简单,但我已经做了几次测试,我可以解决我的问题 我想让它,如果一个图像无法加载,改变一个文本相关的图像,并使该文本红色 这已经在起作用了,但是穴居人的风格,这就是为什么我需要你的帮助 document.getElementById("0").onerror = function() {Fu0()}; document.getElementById("1

大家好,我使用StackOverflow已经有一段时间了,总是通过搜索框找到正确答案,但这次我找不到!这就是我请求你帮助的原因。 我相信解决方案很简单,但我已经做了几次测试,我可以解决我的问题

我想让它,如果一个图像无法加载,改变一个文本相关的图像,并使该文本红色 这已经在起作用了,但是穴居人的风格,这就是为什么我需要你的帮助

document.getElementById("0").onerror = function() {Fu0()};
document.getElementById("1").onerror = function() {Fu1()};
document.getElementById("2").onerror = function() {Fu2()};
function Fu0() {    
    document.getElementById("0").style.display = "none";
    var x = document.getElementById("T0");
    x.innerHTML = "ERROR";
    x.style.color = "red";
    x.style.fontWeight = "bolder"
    x.style.backgroundColor="800000";  
    };  
function Fu1() {    
    document.getElementById("1").style.display = "none";
    var x = document.getElementById("T1");
    x.innerHTML = "ERROR";
    x.style.color = "red";
    x.style.fontWeight = "bolder"
    x.style.backgroundColor="800000";  
    };
function Fu2() {    
    document.getElementById("2").style.display = "none";
    var x = document.getElementById("T2");
    x.innerHTML = "ERROR";
    x.style.color = "red";
    x.style.fontWeight = "bolder"
    x.style.backgroundColor="800000";  
    };
我的HTML上有20多次这样的内容,这意味着有大量的行 我在循环中考虑使用(I)运行 但我无法让它工作

我尝试过这个和一些变体,但没有成功

for (i = 0; i < 26; i++) {
document.getElementById(i).onerror = function() {Fu()};
}
function Fu() { 
    document.getElementById(i).style.display = "none";
    var x = document.getElementById("T"+i);
    x.innerHTML = "ERROR";
    x.style.color = "red";
    x.style.fontWeight = "bolder"
    x.style.backgroundColor="800000";  
    };
(i=0;i<26;i++)的
{
getElementById(i).onerror=function(){Fu()};
}
函数Fu(){
document.getElementById(i).style.display=“无”;
var x=document.getElementById(“T”+i);
x、 innerHTML=“错误”;
x、 style.color=“红色”;
x、 style.fontwweight=“粗体”
x、 style.backgroundColor=“800000”;
};
如果你能帮我,我会非常感激的, 提前感谢(让i=0;i<26;i++){
for (let i = 0; i < 26; i++) {
document.getElementById(i).onerror = function() {Fu(i)};
}
function Fu(num) { 
    document.getElementById(num).style.display = "none";
    var x = document.getElementById("T"+ num);
    x.innerHTML = "ERROR";
    x.style.color = "red";
    x.style.fontWeight = "bolder"
    x.style.backgroundColor="800000";  
    };
getElementById(i).onerror=function(){Fu(i)}; } 函数Fu(num){ document.getElementById(num.style.display=“无”; var x=document.getElementById(“T”+num); x、 innerHTML=“错误”; x、 style.color=“红色”; x、 style.fontwweight=“粗体” x、 style.backgroundColor=“800000”; };
老实说,如果没有其他框架,现在是使用jquery的好时机。您可以使用类或数据选择器,一次更改任意数量可见元素上的所有道具。这是否回答了您的问题?您应该考虑使用CSS样式表,这样就不会在<代码>样式< /代码>上设置这么多属性;这可能相当慢。另外,虽然HTML5中的ID规则已经放宽,但使用所有数字ID对于向后兼容性来说仍然不是一个好主意。谢谢@Trevor,我知道它的由来,但我不是这方面的专家,这是我从College@ControlAltDel它没有,我希望它迭代几个选项,但谢谢!天啊!它是如此简单,它的美丽和让人感觉比以前更愚蠢!真的谢谢!