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