0

嗨我有下表

<table>
   <tr id="">
      <td class="row_class" id="row_id_1">233.00</td>
      <td class="row_class" id="row_id_2">2300</td>
      <td class="row_class" id="row_id_3">3.00</td>
      <td class="row_class" id="row_id_4">4.00</td>
      <td class="main" id="row_id_5">5.00</td>
      <td class="main" id="row_id_6">112.00</td>
   </tr>
</table>

我正在尝试访问 row_class,以便可以为数字添加一些格式。我必须访问的代码

   function formatCurrency() {
      alert();
      var num = document.getElementById('table td .row_class').value;
      var cNum = document.getElementById('table td .main').value;
      document.getElementById( val1 ).value = processformat( num );
      document.getElementById( val2 ).value = processformat( cNum );
   }

运行时出现以下错误

TypeError: document.getElementById(...) is null
var num = document.getElementById('table td .totalS').value;

我正在尝试找出解决此错误的方法,我不确定是否需要应用 .each 函数将格式应用于所有元素?

4

3 回答 3

3

试试这个,你试图用document.getElementByIdwith来获得价值className,这是错误的。

function formatCurrency() {
        alert();
        var num = document.getElementById('row_id_1').value;
        var cNum = document.getElementById('row_id_5').value;
    }

在jQuery中

   function formatCurrency() {
        alert();
        var num = $('#row_id_1').val();
        var cNum = $('#row_id_5').val();
    }
于 2013-10-10T05:17:43.113 回答
0

试试这个:

 function formatCurrency() {
            alert();
            var num = $('table td.row_class').html();
            var cNum = $('table td.main').html();
            document.getElementById(val1).value = processformat(num);
            document.getElementById(val2).value = processformat(cNum);
        }
于 2013-10-10T05:21:16.620 回答
0

您必须了解您的代码正在尝试访问一个 html 标记,该标记具有您在 'getElementById()' 参数中定义的任何内容的 'id' 属性。

var num = document.getElementById('table td .row_class').value;

您上面的代码是说,给我一个带有 'table td .row_class' id 的 html 标记的值,并将其放入 'num' 变量中,该变量当然返回 null,因为您没有任何 id 为 'table td 的标记。行类'。

您需要解决两件事:

  • getElementById() 参数,以及
  • innerHTML 属性而不是 value 属性

您的修复将是这样的:

function formatCurrency() {
        alert();
        var num = document.getElementById('row_id_1').value;
        var cNum = document.getElementById('row_id_5').value;
        document.getElementById('row_id_1').innerHTML= processformat(num);
        document.getElementById('row_id_5').innerHTML= processformat(cNum);
    }
于 2013-10-10T05:24:21.463 回答