WebWork Magazin - Webseiten erstellen lassen, Online Medien, html

Webhoster, Webhosting Provider und Domain registrieren

Home | Registrieren | Einloggen | Suchen | Aktuelles | GSL-Webservice | Suleitec Webhosting
Reparatur-Forum | Elektro forum | Ersatzteilshop Haushalt und Elektronik


Homepage und Webhosting-Forum

HTML, XHTML, CSS , style, XML, Javascript und mehr, Fragen, Tipps und Anregungen zu diesen Basic Techniken - hier rein !


Forum » HTML, CSS - Hilfe für das Erstellen einer Homepage » JS + IE = Prob » Antworten
Benutzername:
Passwort: Passwort vergessen?
Inhalt der Nachricht: Fett | Kursiv | Unterstrichen | Link | Bild | Smiley | Zitat | Zentriert | Quellcode| Kleiner Text
Optionen: Emailbenachrichtigung bei Antworten
 

Die letzten 5 Postings in diesem Thema » Alle anzeigen
von goalkeeper
deine Idee war grandios Ori... node war das zauberwort. rowspan und colspan sind ganz normale attribute.... ich muss nur zweimal durch die tabelle dann klappts... erst die spans auflösen und dann ins array schreiben...

dank dir nochmal für deine Hilfe
von Ori
Wie sollten die denn abgefangen werden?
(Eine externe Beispieldatei hilft wohl am meisten zur Erklärung - Tabelle vorher und Text nachher)
von goalkeeper
hi zusammen, hat einer von euch eine idee wie ich am besten die tabelle mit den colspans und rowspans geparst bekommen?
von goalkeeper
Das funktioniert schon mal nich schlecht... auch der Ansatz is ziemlich interessant....

jetzt muss ich nur noch schauen das ich colspans und rowspans abgefangen bekomme

Gruss

Goalkeeper
von Ori
1: 
2: 
3: 
4: 
5: 
6: 
7: 
8: 
9: 
10: 
11: 
12: 
13: 
14: 
15: 
16: 
17: 
18: 
19: 
20: 
21: 
22: 
23: 
24: 
25: 
26: 
27: 
28: 
29: 
30: 
31: 
32: 
33: 
34: 
35: 
36: 
37: 
38: 
39: 
40: 
41: 
42: 
43: 
44: 
45: 
46: 
47: 
48: 
49: 
50: 
51: 
52: 
53: 
54: 
55: 
56: 
57:
function renderTable()
{
	var t1 = document.getElementById('table1');
	var tbodX, trX, tdX;

	for (var tbodi = 0; tbodi < t1.childNodes.length; tbodi++)
	{
		tbodX = t1.childNodes[tbodi];
		if (tbodX.nodeType == 1 && tbodX.tagName.charAt(0).toLowerCase() == 't') // tbody, thead und tfoot rausnehmen
		{
			for (var tri = 0; tri < tbodX.childNodes.length; tri++)
			{
				trX = tbodX.childNodes[tri];
				if (trX.nodeType == 1 && trX.tagName.toLowerCase() == 'tr')
				{
					document.write('<br>Zeile: ');
					for (var tdi = 0; tdi < trX.childNodes.length; tdi++)
					{
						tdX = trX.childNodes[tdi];
						if (tdX.nodeType == 1 && (tdX.tagName.toLowerCase() == 'td' || tdX.tagName.toLowerCase() == 'th'))
							document.write(tdX.innerHTML + '|');
					}
				}
			}
		}
	}
}

function renderTable2()
{
	var t1 = document.getElementById('table1');

	var tbody = t1.firstChild;
	while (tbody != null)
	{
		tr = tbody.firstChild;

		while (tr != null)
		{
			if (tr.nodeType == 1 && tr.tagName.toLowerCase() == 'tr')
				document.write('<br>Zeile: ');

			td = tr.firstChild;

			while (td != null)
			{
				if (td.nodeType == 1 && (td.tagName.toLowerCase() == 'td' || td.tagName.toLowerCase() == 'th'))
					document.write(td.innerHTML + '|');

				td = td.nextSibling;
			}

			tr = tr.nextSibling;
		}
		tbody = tbody.nextSibling;
	}
}


Zum Verständnis hilft die SelfHTML-Objektreferenz: node.

Eigentlich nicht der Königsweg, es via DOM auszulesen und hinterher brutal reinzuschreiben, aber... es funktioniert.
Bei der zweiten Variante habe ich while- anstelle der for-Schleifen genommen und die if-Abfragen etwas anders gesetzt, das Ergebnis ist aber das gleiche.

PS: <th>s werden von Deiner Variante nicht korrekt geparst.. Bei mir habe ich sie einfach mal hinzugefügt.

PPS: In Deiner Variante könntest Du die beiden for-Schleifen zusammenfassen.

Nach oben