Hi,
ich habe einen Text, der mit diversen Tags gegliedert ist. Der Nutzer soll einen beliebigen Textteil markieren können, um für diesen Abschnitt die Style-Eigenschaft ändern zu können. Jetzt hat er aber möglicherweise nicht punktgenau den "innertext" von einem Tag markiert, sonst könnte man die Eigenschaft (z.B. Farbe) ja so ändern:
document.selection.createRange().parentElement.style.color = 'blue'.
Die zweite Möglichkeit wäre, den markierten Text, inklusive HTML-Tags zwischen zwei <Span>-Tags zu packen, die die Eigenschaft enthalten.
Also z.B. so:
document.selection.createRange.pasteHTML("<SPAN style="color:blue; ">" & document.selection.createRange.htmltext & "</SPAN>")
Wenn der HTML-Text dazwischen aber schon ein <Span>-Tag enthält, das eine andere Farbeigenschaft hat, bleibt der "innertext" davon von der Änderung ausgeschlossen. Die dritte Möglichkeit wäre dann, als erstes den zu ändernden Text mit <Span>-Tags zu umschließen, und dann jeden darin enthaltenen Tag zu durchlaufen, abzufragen ob der Text komplett in der Markierung - also im Range - ist und wenn ja die Style-Eigenschaft zu ändern. Wie würde das funktionieren?
Ich brauche das ganze für ein Visual Basic .NET Projekt, um es im "DHTML Edit Control for IE5" anzuwenden. Es muss also nur im IE funktionieren, und ich muss es noch in VB-Code abändern. Und dieses Control interpretiert eben nicht die Funktion "MoveToElementText()", mit der man dies ja einfach realisieren kann.
Kann mir jemand hierbei helfen oder kennt jemand eine einfachere Möglichkeit markierten Text zu formatieren?
Gruß,
DRAEKIN