Hallo Ghost,
hab mich gerade mit ähnlichem beschäftigt. Wenn der Knoten gefunden ist, kannst du mit
str = ich.innerHTML;
Dessen Inhalt als Text auslesen. Danach in diesem Text die Änderungen vornehmen. Dann mit
ich.innerHTML = str;
diesen wieder einfügen.
Die Methoden um Knoten und Attribute zu erzeugen habe ich nie ganz verstanden. Vor allem hab ich nie die Stelle getroffen an der ich im Baum etwas einfügen wollte. Pech.
Hier ein Code-Beispiel, das so leidlich funzt:
searchStr = searchStr.toUpperCase();
var regString = new RegExp(searchStr,"ig");
var inSpan = '';
var outSpan = '';
var einzelteile = new Array();
var fundstellen = new Array();
var str = "";
var offen = true;
fundstellen = window.document.getElementById("searchResult").innerHTML.match(regString);
einzelteile = window.document.getElementById("searchResult").innerHTML.split(regString);
if (fundstellen != null)
{
for(k = 0; k einzelteile[k].lastIndexOf("\>"))
offen = true;
if(einzelteile[k].lastIndexOf("\>") \> einzelteile[k].lastIndexOf("";
str += inSpan + fundstellen[k] + outSpan;
}
}
}
str += einzelteile[einzelteile.length - 1];
window.document.getElementById("searchResult").innerHTML = str;
Da könnten och ein paar { Klammern offen sein, schau mal nach. Spannend ist der Teil nnen, mit dem ich vermeide in ein bestehendes Tag hineinzuschreiben. Sieht sonst sehr lustig aus …
Ich verwende ein mit id=„searchResult“, in dem ich mit dieser Methode Text hervorhebe.
mfg
Dirk.Pegasus