Schorsch: DOM: umschliessende Tags löschen (deleteSurroundContents)

Guten Tag Forum

Ich habe

...ist <span style="font-weight: bold;">ein Satz</span>
   bestehend...

Und möchte:

...ist ein Satz bestehend...

Das Ganze soll in Mozilla laufen. xxxx.outerHTML möchte ich nicht verwednen.

Was bisher geschah:

function deleteSurroundContents(nodeToDelete)
 {
   // Range erzeugen
   var range = document.createRange();

// Bereich des Ranges festlegen
   range.selectNode(nodeToDelete);

// Inhalt des Ranges auslesen*
   var content = range.extractContents();

// Alles im Range löschen
   range.insertNode(content);

// Inhalt des Ranges wieder einfügen
   range.deleteContents();
 }

*Inhalt des Ranges auslesen:
Nach meinen Erfahrungen wird hier der Inhalt _inklusive_ den <span>-Tags ausgelesen.
Folglich muss vor dem Auslesen den Range verkleinern:

// Inhalt des Ranges auslesen*
  // Range Klonen
  var clone = range.cloneRange();

// Range um ein Element erkleinern
  clone.setStartAfter(range.startContainer);
  clone.setEndBefore(range.endContainer);

var content = clone.extractContents();

Leider komme ich hier auch nicht weiter, da die Fehlermeldung:

Error: uncaught exception: [Exception... "Component returned failure code: 0x80070057 (NS_ERROR_ILLEGAL_VALUE) [nsIDOMRange.setStartAfter]"  nsresult: "0x80070057 (NS_ERROR_ILLEGAL_VALUE)"  location: "JS frame ::

erzeugt wird.

Wer hat mir einen Tipp, wie ich mein Probelm einfach zun zuverlässig lösen kann?

Danke im Voraus
Schorsch