Hallo liebe Wissende
Ich habe ein seltsames Problem mit getElementsByTagName("p") und finde selbst keine Antwort darauf.
Ich bin dabei ein kleines Programm in Javascript zu schreiben, mit dem ich bewirken möchte, dass beim Vorkommen eines bestimmten Wortes innerhalb eines <p></p>, dieses Wort durch einen Link ersetzt wird, wenn man einen Button klickt.
Um die Worte zwischen den <p></p> zu erhalten, wollte ich die Funktion
verwenden. (i ist der Index, den ich mitlaufen lasse)
Und da beginnt mein Problem: Ich schaffe es z.B. nicht, ganz einfach nur den Text innerhalb des Paragraphen mit Hilfe von
auszugeben, geschweige denn, dass ich eine for-Schleife laufen lassen kann, die nach und nach i hochzählt und damit das ganze Dokument nach den enthaltenen Paragraphen absucht.
Ich weiß da echt nicht weiter. Ich habe es jetzt mit dem Firefox 3.0.10 und dem IE8 ausprobiert, aber bei beiden geht es nicht. Also die nehme ich an am Browser liegt es nicht.
Gibt es denn irgendwelche Beschränkungen für die Methode von denen ich nichts weiß?
Hier mal mein Beispiel:
So, wie es hier da steht, wird bei mir nur einmal Satz neu: mit dem Inhalt des ersten Paragraphen ausgegeben, aber alle anderen werden übersehen.
Vielleicht kann mir jemand noch einen Tipp dazu geben.
Vielen Dank jetzt schon mal dafür.
Amanda
Ich habe ein seltsames Problem mit getElementsByTagName("p") und finde selbst keine Antwort darauf.
Ich bin dabei ein kleines Programm in Javascript zu schreiben, mit dem ich bewirken möchte, dass beim Vorkommen eines bestimmten Wortes innerhalb eines <p></p>, dieses Wort durch einen Link ersetzt wird, wenn man einen Button klickt.
Um die Worte zwischen den <p></p> zu erhalten, wollte ich die Funktion
Code:
getElementsByTagName("p")[i].firstChild.data
Und da beginnt mein Problem: Ich schaffe es z.B. nicht, ganz einfach nur den Text innerhalb des Paragraphen mit Hilfe von
Code:
document.write(getElementsByTagName("p")[i].firstChild.data);
Ich weiß da echt nicht weiter. Ich habe es jetzt mit dem Firefox 3.0.10 und dem IE8 ausprobiert, aber bei beiden geht es nicht. Also die nehme ich an am Browser liegt es nicht.
Gibt es denn irgendwelche Beschränkungen für die Methode von denen ich nichts weiß?
Hier mal mein Beispiel:
Code:
function neuerLink () {
var anzp = document.getElementsByTagName("p").length;
for(var i=0; i<anzp; i++){
var s = (document.getElementsByTagName("p")[i].firstChild.data);
document.write("Satz neu: " + s);
}
}
Vielleicht kann mir jemand noch einen Tipp dazu geben.
Vielen Dank jetzt schon mal dafür.
Amanda
Zuletzt bearbeitet von einem Moderator: