table.cell []。innerText在IE中工作,但在mozilla中不工作

时间:2012-02-22 13:12:45

标签: javascript

的Javascript

function test(){
var tableToSort = document.getElementById('tblid');
    for (i=1; i < tableToSort.rows.length; i++)
          {
            alert("result ============> "+tableToSort.cells(iCurCell).innerText);
            iCurCell = iCurCell + tableToSort.cols;
          }
}

上层功能在IE中不起作用,但在mozilla中不起作用,所以我用

更改了它
function test(){
    var tableToSort = document.getElementById('tblid');
        for (i=1; i < tableToSort.rows.length; i++)
              {
        alert("result ============> "+tableToSort.rows[iCurCell1].cells[2].textContent);
                iCurCell = iCurCell + tableToSort.cols;
              }
    } 

在mozilla中,第一个循环记录可以正常工作,但对于其他记录,它会打印undefined。 在IE中,所有记录都正确打印。

2 个答案:

答案 0 :(得分:0)

innerText属性仅适用于IE,请参阅this page,对包含IE9在内的大多数浏览器使用textContent

答案 1 :(得分:0)

你应该真的在tablecell中寻找textNode: 在你的内心:

 var tcell = tableToSort.rows[iCurCell1].cells[2];
 var child = tcell.firstChild;
 do {
    if(child.nodeType == 3)
       break;
 } while(child = child.nextSibling);
 var textThatYouWant = child.nodeValue;

这是真正适用于所有浏览器的DOM实现