title: innerHTML firstChild.value works in IE9 IE8 but not IE10, Firefox, Chrome
body: <p>The following code works in IE8,9 but not in IE10, Firefox or chrome. 
  The calculations are correct in IE8,9 and older versions but in IE10, FF ,chrome the calculated values in the respective columns and rows show up as NaN.
  I have provided the entire code. 
  Any help will be greatly appreciated.
  Thank you all in advance.</p>
  
  <pre><code>&lt;html&gt;
     &lt;head&gt;&lt;/head&gt;
     &lt;script type="text/javascript"&gt;
        function enable_text(che, inp, cost) {
  
           if (che.checked) {
              var c = inp;
              var d = cost;
              document.getElementById('gate_req_' + c).value = d;
           }
           else {
              var c = inp;
              var d = cost;
              document.getElementById('gate_req_' + c).value = 0;
           }
        }
     &lt;/script&gt;
     &lt;body&gt;
        &lt;form action="" method="post" name="f1" id="f1"&gt;
           &lt;table width='95%' border='1' id='tableId' name='tableId'&gt;
              &lt;tr&gt;
                 &lt;td&gt;A&lt;/td&gt;
                 &lt;td&gt;B&lt;/td&gt;
                 &lt;td&gt;C&lt;/td&gt;
                 &lt;td&gt;D&lt;/td&gt;
                 &lt;td&gt;E&lt;/td&gt;
                 &lt;td&gt;Cost&lt;/td&gt;
                 &lt;td&gt;discount yes/ no&lt;/td&gt;
                 &lt;td&gt;Discount amount&lt;/td&gt;
                 &lt;td&gt;Subtotal (Cost - Discount Amount)&lt;/td&gt;
              &lt;/tr&gt;
              &lt;tr&gt;
                 &lt;td&gt;J&lt;/td&gt;
                 &lt;td&gt;K&lt;/td&gt;
                 &lt;td&gt;L&lt;/td&gt;
                 &lt;td&gt;M&lt;/td&gt;
                 &lt;td bgcolor='#F4F4F4'&gt;N&lt;/td&gt;
                 &lt;td id='enteredValues'&gt;
                    &lt;input name='CourseCost' readonly size='6' value=1600&gt;
                 &lt;/td&gt;
                 &lt;td&gt;
                    &lt;input type='checkbox' name='check_box_[]' value=1819 onclick='enable_text(this,0,1600);calc();  ' /&gt;
  
                    &lt;input type='hidden' name='check_box_uncheck[]' value=1819
                       /&gt;
                 &lt;/td&gt;
                 &lt;td id='enteredValues'&gt;
                    &lt;input type='text' name='gate_req_[]' value='0' readonly id='gate_req_0' /&gt;
                 &lt;/td&gt;
                 &lt;td id='enteredValues'&gt;&amp;nbsp;   &lt;/td&gt;
              &lt;/tr&gt;
              &lt;tr&gt;
                 &lt;td&gt;O&lt;/td&gt;
                 &lt;td&gt;P&lt;/td&gt;
                 &lt;td&gt;Q&lt;/td&gt;
                 &lt;td&gt;R&lt;/td&gt;
                 &lt;td bgcolor='#F4F4F4'&gt;S&lt;/td&gt;
                 &lt;td id='enteredValues'&gt;
                    &lt;input name='CourseCost' readonly size='6' value=1600&gt;
                 &lt;/td&gt;
                 &lt;td&gt;
                    &lt;input type='checkbox' name='check_box_[]' value=1821 onclick='enable_text(this,1,1600);calc();  ' /&gt;
  
                    &lt;input type='hidden' name='check_box_uncheck[]' value=1821
                       /&gt;
                 &lt;/td&gt;
                 &lt;td id='enteredValues'&gt;
                    &lt;input type='text' name='gate_req_[]' value='0' readonly id='gate_req_1' /&gt;
                 &lt;/td&gt;
                 &lt;td id='enteredValues'&gt;&amp;nbsp;   &lt;/td&gt;
              &lt;/tr&gt;
              &lt;tr&gt;
                 &lt;td&gt;&amp;nbsp;&lt;/td&gt;
                 &lt;td&gt;&amp;nbsp;&lt;/td&gt;
                 &lt;td&gt;&amp;nbsp;&lt;/td&gt;
                 &lt;td&gt;&amp;nbsp;&lt;/td&gt;
                 &lt;td align='left'&gt;Com&lt;/td&gt;
                 &lt;td align='left'&gt;
                    &lt;input name='Registration_fee' type='text' value='200' size=6 readonly /&gt;
                 &lt;/td&gt;
                 &lt;td&gt;&amp;nbsp;&lt;/td&gt;
                 &lt;td&gt;
                    &lt;input name='Registration0fee' value='0' size=6 readonly /&gt;
                 &lt;/td&gt;
                 &lt;td align='left'&gt;
                    &lt;input name='Registration_fee' value='200' size=6 /&gt;
                 &lt;/td&gt;
              &lt;/tr&gt;
              &lt;tr id='columnTotals' name='columnTotals'&gt;
                 &lt;td&gt;&amp;nbsp; &lt;/td&gt;
                 &lt;td&gt;&amp;nbsp;&lt;/td&gt;
                 &lt;td&gt;&amp;nbsp;  &lt;/td&gt;
                 &lt;td&gt;&amp;nbsp;  &lt;/td&gt;
                 &lt;td&gt;= N +S + Com&lt;/td&gt;
                 &lt;td&gt;
                    &lt;input id='sum1' name='sum1' type='text' readonly&gt;
                 &lt;/td&gt;
                 &lt;td&gt;&amp;nbsp;  &lt;/td&gt;
                 &lt;td&gt;
                    &lt;input id='sum2' name='sum2' type='text' readonly&gt;
                    = Discount Amount Subtotal
                 &lt;/td&gt;
                 &lt;td&gt;
                    &lt;input id='sum3' type='text' name='sum3' readonly&gt;
                    = Total
                 &lt;/td&gt;
           &lt;/table&gt;
     &lt;/body&gt;
     &lt;script type="text/javascript"&gt;
        window.onload = function () {
           var enteredValues = document.getElementById("tableId");
           var inputs = enteredValues.getElementsByTagName("input");
           var columnTotals = document.getElementById("columnTotals");
  
           (function calc() {
              var col_1_total = 0, col_2_total = 0, col_3_total = 0;//initialise running totals to zero
              for (var i = 1; i &lt; enteredValues.rows.length - 1; i++) {
                 var cells = enteredValues.rows[i].cells;
                 col_1_total += Number(cells[5].firstChild.value);
                 col_2_total += Number(cells[7].firstChild.value);
                 col_3_total += Number(cells[8].innerHTML = cells[5].firstChild.value - cells[7].firstChild.value);
              }
              document.getElementById("sum1").setAttribute("value", col_1_total)
              document.getElementById("sum2").setAttribute("value", col_2_total)
              document.getElementById("sum3").setAttribute("value", col_3_total)
  
           })();//execute calc() immediately to cater for any initial values
  
           for (var i = 1; i &lt; inputs.length - 1; i++) {
              inputs[i].onchange = calc;
           }//attach calc as onblur handler to input fields.
        };
     &lt;/script&gt;
  
     &lt;script&gt;
        function calc() {
           var enteredValues = document.getElementById("tableId");
           var inputs = enteredValues.getElementsByTagName("input");
           var columnTotals = document.getElementById("columnTotals");
           var col_1_total = 0, col_2_total = 0, col_3_total = 0;//initialise running totals to zero
           for (var i = 1; i &lt; enteredValues.rows.length - 1; i++) {
              var cells = enteredValues.rows[i].cells;
              col_1_total += Number(cells[5].firstChild.value);
              col_2_total += Number(cells[7].firstChild.value);
              col_3_total += Number(cells[8].innerHTML = cells[5].firstChild.value - cells[7].firstChild.value);
           }
           document.getElementById("sum1").setAttribute("value", col_1_total)
           document.getElementById("sum2").setAttribute("value", col_2_total)
           document.getElementById("sum3").setAttribute("value", col_3_total)
        }
     &lt;/script&gt;
  &lt;/html&gt;
  </code></pre>