2016-08-03 13 views
1

Ich bin ein einfacher Rechner und meine Funktion machen funktioniert nicht:Java Skript: nicht .innerHTML arbeiten

HTML:

<div id="mathLine">0</div> 
<div id="score">none</div> 
<button id="clear" class = "num" ocnlick="clear(0)">C</button> 
<button id="exp" class = "num" >exp</button> 
<button id="sqrt" class = "num">sqrt</button> 
<button id="buttonide" class = "num">/</button> 
<button id="seven7" class = "num" onclick="numerical(7)">7</button> 
<button id="eight8" class = "num" onclick="numerical(8)">8</button> 
<button id="nine9" class = "num" onclick="numerical(9)">9</button> 
<button id="multiply" class = "num" onclick="numerical('X')">X</button> 

JS

var equation = []; 
function numerical(number){ 
    equation.push(number); 
    document.getElementById('mathLine').innerHTML = equation; 
    console.log(equation); 
}; 
function clear (j) { 
    for (j; j < (equation.length+2); j++){ 
    equation.pop(); 
    } 
    console.log(equation); 
    document.getElementById('mathLine').innerHTML = "0"; 
}; 

Some Weitere Informationen:

  • js-Datei ist korrekt in HTML implementiert;
  • die erste Funktion (numerisch) funktioniert gut;
  • Listeneintrag, wenn ich es in separaten HTML-Datei versucht, wo ich html und js in Tag setzen sie alle
  • arbeitete

So habe ich keine Ahnung, was los ist ... Vielleicht es suche ich auch lang und ich sehe nichts Offensichtliches?

+0

Haben Sie versucht, einen Debugger wie FireBug zu verwenden, um Fehlermeldungen zu erhalten? – atjoedonahue

+1

Sie haben keine Frage gestellt, und Sie haben nicht speziell gesagt, was nicht funktioniert. Was * genau * ist das Problem, mit dem du Hilfe brauchst? – dlsso

+0

@ dlsso Es ist nicht so klar, wie es sein könnte, aber Olka sagt, dass die erste Funktion funktioniert, aber nicht die zweite - und der Fragetitel zeigt an, dass .innerHTML nicht wie erwartet funktioniert. Es klingt, als ob sich der Text der MathLine nicht ändert. – Katana314

Antwort

1

Sie haben einen Tippfehler. Versuchen Sie, "ocnlick" zu "onclick" zu ändern.

+0

Oh, das stimmt! Es funktioniert immer noch nicht, aber es ist ein Schritt vorwärts :) – Olka

0

Mein Glaube hier ist, dass Ihre Array-Clearing funktioniert nicht - es ist in der Regel nicht sicher, durch ein Array zu iterieren, während Sie Elemente daraus entfernen, da die Indizierung kann durcheinander geraten. Sie könnten vielleicht die for-Schleife mit einer while-Schleife ersetzen die Array-Länge überprüft, aber ein einfacher Vorschlag wäre, anstatt das Array neu zuzuordnen:

equation = []; 
+0

Ich werde es versuchen. Vielen Dank! – Olka

Verwandte Themen