Javascript表迭代

时间:2014-02-06 22:58:14

标签: javascript loops

我有一个名为“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);

    }

2 个答案:

答案 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用于输入等表单元素。