Javascript - Упростить все oop и функцию - PullRequest
2 голосов
/ 20 марта 2020

Привет всем, я уже некоторое время использую 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";  
    };

У меня это более 20 раз на моем HTML, что означает сумасшедшее количество строк, о которых я думал в 1013 * запустить с помощью (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";  
    };

Я буду очень признателен если вы можете мне помочь, заранее спасибо

1 Ответ

1 голос
/ 21 марта 2020
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";  
    };
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...