2016-08-03 35 views
1

我做一个简单的计算器,我的功能无法正常工作:Java脚本的:不工作.innerHTML

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

一些更多信息:

  • js文件在html中正确实现;
  • 第一个函数(数值)工作正常;
  • 列表项,当我在单独的HTML文件,这里我把HTML和JS的标记它的所有工作

所以我也没办法试了一下,什么是错的......也许我看着它太很长,我没有看到明显的东西?

+0

您是否尝试过使用FireBug等调试器来获取任何错误消息? – atjoedonahue

+1

您还没有问过问题,而且您没有具体说过什么不起作用。什么*确切*是你需要帮助的问题? – dlsso

+0

@dlsso它并不尽如人意,但Olka说第一个函数有效,但不是第二个 - 问题标题指出.innerHTML没有按预期工作。这听起来像mathLine的文本不会改变。 – Katana314

回答

1

你有一个错字。尝试将“ocnlick”更改为“onclick”。

+0

哦,没错!它还没有工作,但它是一步向前:) – Olka

0

我的看法是,你的数组清理不起作用 - 当你从数组中删除元素时,遍历数组通常是不安全的,因为索引可能会搞砸。也许你可以替换为while循环检查数组的长度循环,但一个简单的建议是,而不是重新分配数组:

equation = []; 
+0

我会试试这个。谢谢! – Olka