2012-05-11 68 views
13

Vì vậy, người dùng nhấp vào một hàng của một bảng và tôi muốn nhận được (trong javascript) nội dung bên trong, hãy nói cột 3d của hàng đó .javascript lấy giá trị văn bản của một cột từ một hàng cụ thể của bảng html

cái gì đó như:

document.getElementById("tblBlah").rows[i].columns[j].innerHTML 

dường như không thể đạt được và tôi không thể tìm thấy bất cứ điều gì ở đây hoặc trong mạng.

Bất kỳ giải pháp nào sẽ được đánh giá rất nhiều (NO jquery) Cảm ơn trước!

Trả lời

30
document.getElementById("tblBlah").rows[i].columns[j].innerHTML; 

nên là:

document.getElementById("tblBlah").rows[i].cells[j].innerHTML; 

Nhưng tôi nhận được ấn tượng riêng biệt mà hàng/ô bạn cần là một nhấp bởi người sử dụng. Nếu vậy, cách đơn giản nhất để đạt được điều này là gắn một sự kiện vào các ô trong bảng của bạn:

function alertInnerHTML(e) 
{ 
    e = e || window.event;//IE 
    alert(this.innerHTML); 
} 

var theTbl = document.getElementById('tblBlah'); 
for(var i=0;i<theTbl.length;i++) 
{ 
    for(var j=0;j<theTbl.rows[i].cells.length;j++) 
    { 
     theTbl.rows[i].cells[j].onclick = alertInnerHTML; 
    } 
} 

Điều đó làm cho tất cả các ô bảng có thể nhấp và cảnh báo là innerHTML. Đối tượng sự kiện sẽ được chuyển đến hàm alertInnerHTML, trong đó đối tượng this sẽ là tham chiếu đến ô đã được nhấp. Đối tượng sự kiện cung cấp cho bạn rất nhiều thủ thuật gọn gàng về cách bạn muốn sự kiện nhấp hoạt động nếu, có một liên kết trong ô được nhấp, nhưng tôi khuyên bạn nên kiểm tra MDN và MSDN (đối tượng window.event)

+0

DUH! THANKS ALOT – MIrrorMirror

+0

Cảm ơn. Tôi đã sử dụng các cột và nó không hoạt động. – SearchForKnowledge

Các vấn đề liên quan