2010-02-15 21 views
8

Tôi muốn truy cập tất cả các giá trị của trường id bảng tr.Javascript - nhận tất cả bảng -> tr> id giá trị

<table> 
<tr id="1"></tr> 
<tr id="2"></tr> 
<tr id="3"></tr> 
<tr id="4"></tr> 
<tr id="5"></tr> 
</table> 

Những gì tôi muốn làm là sử dụng một hàm javascript, có một mảng và có acess để

[1,2,3,4,5] 

Cảm ơn bạn rất nhiều!

Trả lời

13
var idArr = []; 

var trs = document.getElementsByTagName("tr"); 

for(var i=0;i<trs.length;i++) 
{ 
    idArr.push(trs[i].id); 
} 
+5

Nice, nhưng ngay trước khi dòng thứ hai tôi sẽ var 'bảng = document.getElementById ("tableId"); 'sau đó thay đổi dòng thứ hai cho' table.getElementsByTagName ("tr") ; '. +1 – karim79

+0

Đó là một điểm tốt nếu anh ta cần lấy các hàng cho một bảng cụ thể – zincorp

3

Hãy ghi nhớ rằng id HTML phải bắt đầu với một nhân vật tự chữ và số để xác nhận, và getElementsByTagName trả về một bộ sưu tập, không phải là một mảng. Nếu những gì bạn thực sự muốn là một mảng của tất cả các hàng trong bảng của bạn, bạn không cần gán một ID cho mỗi hàng. Hãy thử một cái gì đó như thế này:

<table id="myTable"> 
<tr><td>foo</td></tr> 
<tr><td>bar</td></tr> 
<tr><td>baz</td></tr> 
</table> 

var i, tr, temp; 

tr = []; 
temp = document.getElementById('myTable').getElementsByTagName('TR'); 
for (i in temp) { 
    if (temp[i].hasOwnProperty) { 
     tr.push(temp[i]); 
    } 
} 
Các vấn đề liên quan