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

[FRAGE] Das wie vielte Child

oOLupusOo

New member
Hey :)
Die Frage im Titel konnte ich gerade leider nicht besser formulieren.
Ich lerne gerade weiter Javascript und bin an einer Hürde und weiß leider nicht weiter.

Ich habe eine Tabelle und in der letzten Spalte ist ein X um diese Zeile zu löschen. Wenn ich darauf klicke, wird eine onClick Funktion aufgerufen.
Doch wie kann ich jetzt die Zeile in der das X steht rauskriegen um die entsprechende Zeile zu löschen?
 
Leider wird mir nur undefined ausgegeben.

Ich zeige mal den Code (Ist nicht wirklich sauber weil es eine Übung ist)

Code:
<script>
var Nutzer = []

function create_object(Nutzername, Klasse, Geburtsdatum){
	Nutzer.push({
		name: Nutzername,
		klasse: Klasse,
		geburtsdatum: Geburtsdatum
})
console.log(Nutzer)
create_line(Nutzername, Klasse, Geburtsdatum)
}

function create_line(Nutzername, Klasse, Geburtsdatum){
	var Tabelle = document.getElementById("Tabelle")
	var Spalte = Tabelle.appendChild(document.createElement('tr'))
		
		for(i=0;i<5;i++){
		Spalte.appendChild(document.createElement('td')) 
		}
		write_lastobject_in_line(Nutzername, Klasse, Geburtsdatum)
		
function write_lastobject_in_line (Nutzername, Klasse, Geburtsdatum) {
	var Tabelle = document.getElementById("Tabelle")
	var Zeilen_Anzahl = Tabelle.getElementsByTagName("tr").length
	var Tabelle_rows = Tabelle.getElementsByTagName("tr")
	var Tag = new Date()
	var Tagb = Tag.getTime()
		
	Tabelle_rows[Zeilen_Anzahl -1].childNodes[0].innerHTML = Nutzername
	Tabelle_rows[Zeilen_Anzahl -1].childNodes[1].innerHTML = Klasse
	Tabelle_rows[Zeilen_Anzahl -1].childNodes[2].innerHTML = Geburtsdatum
	Tabelle_rows[Zeilen_Anzahl -1].childNodes[3].innerHTML = Tagb
	var a = Tabelle_rows[Zeilen_Anzahl -1].lastChild.appendChild(document.createElement("a"))
	a.setAttribute('onClick', 'getRowToDelete()')
	var c = a.appendChild(document.createTextNode("X"))
	
	begruessung(Nutzername);
	console.log(Tabelle)
}
function begruessung(){
	var begruessung_span = document.getElementById("Begruessung")
	
	begruessung_span.innerHTML = "Guten Tag " + Nutzer[Nutzer.length -1].name + "!  Du wurdest in der Liste eingetragen." 
	}
}

function getRowToDelete(){
	console.log(this.parentNode)
}

</script>

- - - Aktualisiert - - -

Habe meinen Fehler gefunden. Ich hätte die Funktion direkt mit einem this Attribute benennen sollen und das Atribute wo die Funktion aufgerufen wird anders benennen.
 
Zurück
Oben