我有下表
<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函数将格式应用于所有元素?
答案 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'。
您需要解决两件事:
你的解决方案是这样的:
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);
}