Guten Tag
Ich möchte den Node, indem sich selektierter Text befindet, verändern.
Mittels "range.startContainer" versuche ich darauf zuzugreifen, kann aber anschliessend die setAttribute() Methode nicht verwednen.
Warum?
Danke im Voraus
Schorsch
NB: Das ganze muss nur im Firefox klappen.
Was bisher geschah:
// Habe ein Range
var range = window.getSelection().getRangeAt(0);
// Jetzt habe ich den Parent Node vom Range oder??
var container = range.startContainer;
// Nun möchte ich diesen verändern:
/* Funktioniert nicht! Warum??? */
//container.setAttribute("align", "center");
/* Working Around */
// Mache ein neuer Node
var newNode = document.createElement("div");
// Mit der ID blah
newNode.setAttribute("id", "blah");
// Packe diesen Node exakt um meinen Range herum
newNode.appendChild(range.extractContents());
range.insertNode(newNode);
// Hole mein blah
var blah = document.getElementById("blah");
// Und gehe nun zu seinen Eltern,
// Welche dieselben wie container sein müssten oder?!?
var eltern = blah.parentNode;
// Jetzt kann ich die eltern bearbeiten...
eltern.setAttribute("align", "center");
// Weiter hole ich den Inhalt von blah,
// Hänge diesen als Textnode den Eltern an
// Und lösche blah ...