• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

Anfängerfrage zu .rowIndex von Tabelle

Anan

New member
Guten Abend,

ich bin absoluten Anfänger und habe -glaube ich- ein recht einfaches Problem und zwar möchte einfach nur den rowindex in eine Zelle schreiben.
HTML:
<table id='speisekarte'>
<tr>
   <td class='hidden'>bla bla</td>
   <td class='hidden'><script>document.write(this.parentElement.rowIndex);</script></td>
</tr>
<tr>
   <td class='hidden'>bla bla</td>
   <td class='hidden'><script>document.write(this.parentElement.rowIndex);</script></td>
</tr>
</table>
 
Und was genau ist jetzt das Problem? Würdest du einen Blick in die Fehlerkonsole werfen, würdest du folgende Fehlermeldung angezeigt bekommen: this.parentElement is undefined
this bezieht sich in diesem Fall nämlich auf window, da es in keinerlei Bezug zum <td> steht.
Understand JavaScript’s “this” With Clarity, and Master It | JavaScript is Sexy

Von document.write() solltest du lieber früh als spät die Finger lassen.

Das Ganze geht übrigens mit einer Schleife viel einfacher:
HTML:
<table id='speisekarte'>
	<tr>
		<td class='hidden'>bla bla</td>
	</tr>
	<tr>
		<td class='hidden'>bla bla</td>
	</tr>
	<tr>
		<td class='hidden'>bla bla</td>
	</tr>
</table>

<script>
	for(var i = 0, tableRows = document.getElementById("speisekarte").getElementsByTagName("tr"); i < tableRows.length; ++i){
		var tr = tableRows[i];
		var td = document.createElement("td");
		td.class = "hidden";
		td.textContent = tr.rowIndex;
		tr.appendChild(td);
	}
</script>
 
Zurück
Oben