Ich habe diese Zeichenfolge, die den Körper einer Seite darstellt, die ich für einige Elemente analysieren möchte. Ich glaube (widersprechen Sie mir gerne), der beste Weg, dies zu tun, ist ein leeres Dokument zu erstellen, dann fügen Sie den Körper und verwenden Sie Standard-JS-Methoden, um zu bekommen, was ich will
Aber ich kann den Text dem Dokument nicht hinzufügen. In Chrome schlägt der folgende Code in Zeile 2 mit NO_MODIFICATION_ALLOWED_ERR: DOM Exception 7
fehl.
Gibt es eine Möglichkeit, das zu erreichen, was ich will?
Da wir einige Jahre weiter als die ursprünglich angenommene Antwort sind, möchte ich eine modernere geben.
In Firefox 50.0.2 können Sie dies tun:
%Vor%Hier wird der Körper erstellt und direkt "document.body" zugewiesen. Ein bisschen Lesen ( Ссылка ) hat mir klar gemacht, dass das Attribut des Dokuments " body "kann entweder" null "sein oder ein Objekt vom Typ" body "oder (nicht empfohlen)" frameset "enthalten.
Folgendes funktioniert nicht , d. h., es wird eine leere Seite erstellt, da die Zuweisung zu "document.body" fehlt:
%Vor% Anstelle von document.body = body;
können Sie dies tun: document.documentElement.appendChild(body);
, während document.firstChild.appendChild(body);
einen Fehler auslöst ("HierarchyRequestError: Knoten kann nicht am angegebenen Punkt in der Hierarchie eingefügt werden").
Man könnte argumentieren, ob das Hinzufügen eines Absatzes durch die Bewertung von innerHTML der beste Weg ist, aber das ist eine andere Geschichte.
Tags und Links javascript dom