2010-03-10 111 views
1

它是什麼,我做錯了這裏:未定義id屬性

當我嘗試使用getttribute [「身份證」]方法的TableCell的對象,我從得到通過遍歷錶行/細胞則返回undefined:

var rows = document.getElementById["table"].rows; 
var cells; 
for(var i=0; i < rows.length; i++) { 
cells = rows[i].cells 
for(var j=0; j < cells.length; j++) { 
    alert(cells[j].innerHTML); //returns Cell1 
    alert(cells[j].getAttribute["id"]); //returns undefined 
    alert(document.getElementById["c1"].innerHTML); //returns Cell1 

} 
} 

這是例如HTML:

<table id="table"> 
    <tbody> 
     <tr> 
     <td id="c1">Cell1</td> 
     </tr> 
    </tbody> 
</table> 

問題是爲什麼沒有定義的所有屬性磨片getAttribute方法返回n通過單元格[j]訪問?

回答

1

getAttribute是一個方法,你使用它作爲一個索引

使用

alert(cells[j].getAttribute("id")); 

而且取代

document.getElementById["table"].rows; 

document.getElementById("table").rows; 

document.getElementById["c1"].innerHTML 

document.getElementById("c1").innerHTML 

getElementById也是一種方法。

0

我不知道爲什麼,但getAttribute不喜歡id屬性。改爲使用cells[j].id

0

只需使用單元格[j] .id獲取單元格的標識。

1

您使用方括號[]而不是括號()在調用getElementByIdgetAttribute

//change 

getElementById["table"] 
getAttribute["id"] 
getElementById["c1"] 

//to 

getElementById("table") 
getAttribute("id") 
getElementById("c1") 

//Respectively. 
+0

是的,這是真的,這是一種方法!謝謝 – 2010-03-10 06:29:33

0

或者您可以使用getAttribute方法:

xmlDoc.getElementsByTagName("sec")[0].getAttribute("id") 

在這裏,我會回來的s1<sec id="s1">這樣的標籤。