2012-05-11 9 views
13

So ein Benutzer klickt auf eine Zeile einer Tabelle, und ich möchte (in Javascript) die innerehtml von sagen wir die 3d Spalte dieser Zeile .Javascript Holen Sie den Textwert einer Spalte aus einer bestimmten Zeile einer HTML-Tabelle

so etwas wie:

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

nicht erreichbar scheinen, und ich kann hier nichts oder im Netz finden.

Alle Lösungen würden sehr geschätzt werden (NO jquery) Vielen Dank im Voraus!

Antwort

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

Sollte sein:

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

Aber ich den Eindruck bekommen, dass die Zeile/Zelle, die Sie benötigen, die eine vom Benutzer angeklickt wird. Wenn ja, zu erreichen, ist der einfachste Weg wäre dies ein Ereignis in der Tabelle zu den Zellen werden Befestigung:

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; 
    } 
} 

, dass alle Tabellenzellen klickbare macht, und alarmieren sie innerHTML- ist. Das Ereignisobjekt wird an die Funktion alertInnerHTML übergeben, in der das Objekt this eine Referenz auf die angeklickte Zelle ist. Das Ereignisobjekt bietet Ihnen viele nette Tricks, wie sich das Klickereignis verhalten soll, wenn beispielsweise eine Verknüpfung in der angeklickten Zelle vorhanden ist, aber ich empfehle, das MDN und das MSDN (für das window.event-Objekt) zu überprüfen

+0

DUH! DANKE – MIrrorMirror

+0

Danke. Ich habe Spalten verwendet und es hat nicht funktioniert. – SearchForKnowledge