Hallo Ashura.
Nanu? Wolltest du nicht so etwas erstellen?
<div class="test">Testdiv</div>
Wo kommt die Variable meinText auf einmal her?
Aus irgendeinem Grund hab ich einfach die Variable falsch bezeichnet.
Du musst mit der bereits vorhandenen Schleife (nebenbei bietet sich hier for statt while an) alle <img>-Elemente abklappern und deinen Kriterien entsprechend ersetzen:
var links = document.getElementsByTagName('img');
/* Hier das <div> intialisieren */for (var i = 0; i < links.length; i++;) {
if (links[i].src.match(/.*new.gif/gi)) {
/* text1 = document.createTextNode('new');
links[i].parentNode.appendChild(text1);
links[i].parentNode.removeChild(links[i]);obiges durch die replaceChild-Funktion
und die createTextNode-Funktion ersetzen */
}
if (links[i].src.match(/.*old.gif/gi)) {
/*text1 = document.createTextNode('old');
links[i].parentNode.appendChild(text1);
links[i].parentNode.removeChild(links[i]);Dito. */
}
}
Da ich erstmal pauschal bei beiden if-Bedingungen das gleiche <div>-Element verwenden möchte, hab ich createTextNode in den if's erstmal nicht benutzt. Was ich bisher nun habe:
var links = document.getElementsByTagName('img');
var meinDiv = document.createElement('div');
var meinDivText = document.createTextNode('Testdiv');
meinDiv.setAttribute('class','test');
meinDiv.appendChild(meinDivText);
for (var i = 0; i < links.length; i++)
{
if((links[i].src.match(/.*forum_old.gif/gi)))
{
links[i].parentNode.replaceChild(meinDiv,links[i]);
}
if((links[i].src.match(/.*forum_new.gif/gi)))
{
links[i].parentNode.replaceChild(meinDiv, links[i]);
}
}
Ergebnis: Alle Grafiken verschwinden und werden _nicht_ durch das <div> ersetzt. Einmal hatte es, scheinbar willkürlich, funktioniert. Da hatte ich nach der zweiten if Anweisung ausversehen noch das i++ von der vorhergehenden while Schleife stehen gelassen.
Habe auch versucht statt links[i] in replaceChild links[i].parentNode.firstChild zu verwenden, was aber auch nicht geklappt hat.
Einen schönen Mittwoch noch.
Ebenso und Danke bisher für die Mühe!
Gruß,
Mario