Zelle einer Tabelle mit Bilde füllen

  • Ich erstelle eine Tabelle deren Zellen mit Bilder gefüllt werden.
    Jetzt möchte ich beim Anklicken einer Zelle dieses Billd durch eunin neues Bild ersetzen.


    Ich versuche dies in der Funktion mit :


    this.style.background-image: "augeRot.gif";


    Funktioniert nicht. Ist das statement falsch?


    Gruß aus Mülheim


    Joachim


    function createTable(row, col, id)
    {
    var myTable = document.createElement("table");
    var mytablebody = document.createElement("tbody");


    for (var j = 0; j < row; j++)
    {
    mycurrent_row = document.createElement("tr");
    for (var i = 0; i < col; i++)
    {
    mycurrent_cell = document.createElement("td");
    mycurrent_cell.addEventListener("click", function (iii, jjj)
    {
    //////////////////////////////////////////////////////////////////////////////////////


    return function ()
    {



    this.style.background-image: "augeRot.gif";



    if (vorgabe[0]<= counter)
    {
    myTable.setAttribute("data-locked", "true");
    document.getElementById("suchZahl").innerHTML ="Level geschafft, auf zum nächsten Level";
    levelMove();
    anzahlZeilen = anzahlZeilen +1;
    anzahlSpalten =anzahlSpalten+1;
    document.getElementById("btnnr2").disabled = false;
    document.getElementById("btnnr1").disabled = true;
    }


    if (progressValue >= 100)


    {
    document.getElementById("suchZahl").innerHTML =" Glückwunsch, alle Level erfolgreich geschafft!" ;

    }
    }
    }
    ////////////////////////////////////////////////////////////////////////////////////////////////
    }
    (i, j));


    currentimage = document.createElement("IMG");
    currentimage.setAttribute("src", "augeLeer.gif");
    mycurrent_cell.appendChild(currentimage);
    mycurrent_row.appendChild(mycurrent_cell);
    }


    mytablebody.appendChild(mycurrent_row);
    }


    myTable.appendChild(mytablebody);
    myTable.setAttribute("ID", id);
    return myTable;
    }

  • Wenn Du ein img-Tag verwendest, um das Bild anzuzeigen:

    JavaScript
    1. currentimage.setAttribute("src", "augeLeer.gif");

    musst Du es auch verwenden, um das Bild zu wechseln:

    JavaScript
    1. this.src = "augeRot.gif";

    wobei ich vorausgesetzt habe, dass der Eventlistener auf das img registriert ist.

  • mit dem Click in der Funktion createTable funktioniert es mittels
    this.src = "augeRot.gif";
    bringt die Bilder (Danke Semervivum)


    Wenn ich jetzt von einer anderen Funktion aus ein Bild reinbringen möchte habe ich es versucht mitt :


    document.getElementById('tabelle1').rows[sindex].cells[zindex].src= "augeRed.gif";


    oder


    document.getElementById('tabelle1').rows[sindex].cells[zindex].style.backgroundImage= "augeRed.gif";


    Es bringt es nicht. Was ist richtig?


    LG


    Joachim