通过Id读取元素

时间:2013-10-10 05:15:20

标签: javascript jquery html

我有下表

<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函数将格式应用于所有元素?

3 个答案:

答案 0 :(得分:3)

试试这个,你试图使用document.getElementById 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();
    }

答案 1 :(得分: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);
        }

答案 2 :(得分:0)

您必须了解您的代码正在尝试访问html标记,该标记的'id'属性与您在'getElementById()'参数中定义的内容相同。

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

上面的代码说,给我一个带有'table td .row_class'id的html标签的值,并把它放到'num'变量中,当然它返回null,因为你没有id为'的标签' table td .row_class'。

您需要解决两件事:

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