2010-12-14 13 views
1

feuern Ich arbeite mit einigen Legacy-Software, die HTML generiert und ich muss einige Manipulation mit diesem HTML tun. Um dies zu tun, möchte ich den gesamten Body-Inhalt in eine Variable klonen und daran arbeiten, um nichts im Browser-Fenster zu ändern. Wie folgt aus:jQuery append()/appendTo()/html() Ursache Javascript innerhalb von DOM

var tmp = jQuery("body").contents(); 

Dann versuche ich einige Änderungen mit tmp Variable zu tun:

tmp.wrap("<span></span>"); 

Das Problem ist, HTML <Stil> und < Skript hat > Tags im < Körper > und sieht aus wie JavaScript startet, wenn ich versuche, irgendwo tmp anzufügen oder wickeln. Ich würde gerne wissen, ob es eine Möglichkeit gibt, $ .append, $ .appendTo zu machen, ohne Javascript in das Skript einzufügen. (Außer, Filterung eigentliche HTML und Entfernen alle <Skript> Tags)

+0

Was möchten Sie tun? – Matt

+0

Ich muss einige Änderungen an DOM vornehmen und am Ende die resultierende height() und width() davon finden. Aber auch einfache $ ("body"). Contents(). WrapAll ("

") löst die Ausführung von allen in body eingebetteten JavaScript aus. Ich möchte es vermeiden. –

+0

Sie könnten daran interessiert sein [Stapel-Austausch-Vorschlag] (http://area51.stackexchange.com/proposals/11464/code-review?referrer=aWNm_PdciyFqjFW8CUacGw2 "Code-Review"). Es ist fast bereit, mit der Beta zu beginnen, braucht nur noch ein paar mehr. – greatwolf

Antwort

0

Eine Möglichkeit, eine Variable zu setzen, sobald wäre, wie trigger = true und wickeln Sie alles, was Sie aktuellen Code in einer if-Anweisung:

if (trigger) { your scripts...} 

dann, Vor dem Umbrechen/Anhängen des Markups, Trigger auf false setzen (nur nicht an trigger = true anhängen)

Verwandte Themen