Holen Sie die Zelle Wert aus einer dynamischen Tabelle in HTML
Ich Javascript verwenden, um dynamisch hinzufügen neue Zeile in eine html-Tabelle, dann habe ich verwendet:
var table = document.getElementById(tableID);
var rowCount = table.rows.length;
queue.innerHTML +=table.rows[rowCount].cells[1].firstChild.nodeValue + "/" + table.rows[rowCount].cells[2].firstChild.nodeValue +"\n";
Aber nur null zurück, so Frage ich mich, kann man den Wert von Zellen bilden Zeilen, die war dynamisch Hinzugefügt werden, und wie?
Danke.
1)Wo kommt die Warteschlange kommen? 2)rowCount ist die Menge der Zeilen +1, so Ihre Logik, kann nicht wirklich sein Recht zum ergreifen von etwas. 3)Wir müssen wissen, Ihre html-Struktur. 4)JavaScript kümmert sich nicht, wenn die Knoten wurden dynamisch erstellt wird oder nicht. Es kümmert sich nur, dass Sie existieren, wenn der code ausgeführt wird. Siehe jsfiddle.net/9pL23
InformationsquelleAutor Xitrum | 2011-04-22
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich glaube nicht, dass nodeValue ist die richtige Sache zu verwenden. Pro diese der nodeValue für ein element ist immer null.
Wenn Sie dynamisch erstellen der Tabelle die Zeilen, würde es nicht mehr Sinn machen, fügen Sie es in die Warteschlange.innerHTML zur gleichen Zeit statt, es zu tun auf diese Weise?
InformationsquelleAutor AndrewR
Ich denke, die
rows
Sammlung ist eine null-basierten array-ähnlichen Struktur. So versuchen Sie mitrowCount-1
:Darüber hinaus können Sie
innerText
wie intable.rows[rowCount-1].cells[1].innerText
zu bekommen, der Wert der Zelle[Bearbeiten] überspringen Sie die rowCount-Teil: weisen Sie es vor der Zugabe, so
rowCount
funktionieren sollte. Lesen Sie diese, obwohl, weilinnerHTML
für Tabellen, die nicht immer die gewünschten Ergebnisse.InformationsquelleAutor KooiInc
Hier ist, wie ich es tun würde, mit jQuery, wenn ich verstehe deine Frage richtig.
Oder
:eq(0)
und:eq(1)
wenn Sie wollen, dass die erste und die zweite Zelle.Ich weiß. Aber ich dachte, ich würde es empfehlen, da es soo viel einfacher für ein JS-Neuling. Und alle anderen auch.
Es war nicht wirklich was darauf hindeutet, wie es war "hier ist, wie Sie es tun". Ich weiß nicht, wie es ist einfacher zu bedienen jQuery als
document.getElementById
; die letztere ist millionenfach schneller und selbst dokumentieren. Wenn Sie besorgt sind über cross-browser-Kompatibilität, ich bin mir ziemlich sicher, dass er kümmert sich nicht um Netscape 1.Aktualisiert, jetzt glücklich?
InformationsquelleAutor Znarkus