Wie funktioniert myTable.setAttribute("data-locked", "true")

  • In der Funktion createTable soll bei falscher Eingabe die Tabelle nicht mehr clickbar sein.
    Das soll gesteuert werden mit


    if (StopSofort==true)
    {
    myTable.setAttribute("data-locked", "true");
    alert ("Falsche Ziffer . Beginn wieder mit Start");
    }


    wenn die Tabelle nicht gesperrt worden ist soll das Programm weiter abgearbeitet werden.

    Dieser Vorgang soll gesteuert werden mit der Abfrage :


    if (!myTable.getAttribute("data-locked"))
    Diese If Abfrage funkioniert nicht. Auch wenn StopSofort ==true und damit myTable.setAttribute("data-locked", "true");
    arbeitet das Programm die Statements nach der Abfrage if (!myTable.getAttribute("data-locked")) ab.


    Ich verstehe nicht wieso. Muss allerdings gestehen, dass ich nichtgenau weiß wie myTable.setAttribute("data-locked", "true") arbeitet.
    Im Netz finde ich auch keine ausführliche Beschreibung zu getAttribute


    LG


    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 ()
    {
    pruef(jjj,iii,counter);


    if (StopSofort==true)
    {
    myTable.setAttribute("data-locked", "true");
    progressValue=0;
    this.style.backgroundColor = "red";
    alert ("Falsche Ziffer . Beginn wieder mit Start");


    }



    if (!myTable.getAttribute("data-locked"))


    { }
    alert("Nicht gesperrt. Hier geht es weiter");
    this.style.backgroundColor = "yellow";


    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;
    }


    if (progressValue >= 100)


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

    }


    }
    }
    (i, j));


    currenttext = document.createTextNode(random(maxValue));
    mycurrent_cell.appendChild(currenttext);
    mycurrent_row.appendChild(mycurrent_cell);
    }


    mytablebody.appendChild(mycurrent_row);
    }


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




    function searchValue(zeile,spalte){
    ;
    var rowIndex = zeile;
    var cellIndex = spalte;
    var zahlAusTab = document.getElementById('tabelle1').rows[rowIndex].cells[cellIndex].innerHTML;
    return zahlAusTab;
    }

  • Offenbar liegt das Problem hier:



    if (!myTable.getAttribute("data-locked"))


    { }
    alert("Nicht gesperrt. Hier geht es weiter");
    this.style.backgroundColor = "yellow";




    Du hast da eine öffnende und eine schließende Klammer direkt hintereinander statt die folgenden Anweisungen einzuklammern. Wahrscheinlich ist dies, was Du eigentlich vor hast:



    if (!myTable.getAttribute("data-locked")) {
    alert("Nicht gesperrt. Hier geht es weiter");
    this.style.backgroundColor = "yellow";


    }