2010-12-14 6 views
1

私はHTMLを生成する従来のソフトウェアを使用していますので、このHTMLを使って操作する必要があります。これを行うために、私はすべてのボディコンテンツを変数にクローンし、ブラウザウィンドウで何も変更しないようにするために作業します。このように:jQuery append()/ appendTo()/ html()DOM内でjavascriptを起動させます

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

それから私はTMP変数にいくつかの変更をしよう:

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

問題は、HTMLが<体>に<スタイル>と<スクリプト>タグを持っており、それでありますtmpどこかに貼り付けようとすると、JavaScriptが起動するかのように見えます。私は$ .append、$ .appendToを実行する方法があるかどうかを知りたいのですが、その中にjavascriptを起動しないでください。 (実際のHTMLをフィルタリングし、すべての<スクリプト>タグを削除、除く)

+0

何をしようとしていますか? – Matt

+0

私はDOMのいくつかの変更を行う必要があり、最終的に結果height()とwidth()が見つかりました。しかし、単純な$( "body")のcontents()。wrapAll( "

")はbodyに埋め込まれたすべてのJavaScriptの実行をトリガーします。私はそれを避けたい。 –

+0

この[スタック交換提案](http://area51.stackexchange.com/proposals/11464/code-review?referrer=aWNm_PdciyFqjFW8CUacGw2 "コードレビュー")に興味があるかもしれません。ベータ版を開始する準備はほぼ完了ですが、もう少し必要です。 – greatwolf

答えて

0

一つの方法は、if文でtrigger = trueのように、一度変数を設定し、すべてのあなたの現在のコードをラップすることです:

その後、
if (trigger) { your scripts...} 

、マークアップをラップ/追加する前に、トリガーをfalseに設定してください(trigger = trueに追加しないでください)

関連する問題