我有一个名为“num”的x-y表,我试图遍历表并获取单元格中的数值。警报一直显示“未定义”,我不知道为什么。我已经尝试过innerHTML函数,但它没有给我我需要的价值。任何帮助将不胜感激(我是Javascript的新手)。
var x=0;
var y=0;
var table=document.getElementById("num");
for (var r = 1, n = table.rows.length; r < n; r++) {
x= table.rows[r].cells[0].value;
y= table.rows[r].cells[1].value;
alert(x);
}
答案 0 :(得分:1)
> x= table.rows[r].cells[0].value
表格单元格(td和th元素)没有默认的值属性。如果您希望获取DOM元素的文本内容,可以使用W3C textContent属性或IE innerText属性,具体取决于主机支持的属性。浏览器支持其中一个,有些都支持,所以你可以这样做:
var cell;
...
cell = table.rows[r].cells[0];
x = cell.textContent || cell.innerText;
您还可以编写一个小功能来完成这项工作:
function getText(el) {
if (typeof el.textContent == 'string') {
return el.textContent;
} else if (typeof el.innerText == 'string') {
return el.innerText;
}
}
然后你可以这样做:
x = getText(table.rows[r].cells[0]);
请注意, x 的值将是一个字符串,因此如果您打算使用+
运算符进行添加,请务必小心。
答案 1 :(得分:0)
您需要.innerText
代替innerHTML
.value
用于输入等表单元素。