3

私はこのようなマークアップを取得しました:

<body>
    <...
    a lot of tags from the web site
    ...>
    <script type="text/javascript" src="http://cdn.jquerytools.org/1.1.1/jquery.tools.min.js"></script>
    <script type="text/javascript" src="my_script.js"></script>
<body>

私はそれがそのように終わることを望みます:

<body>
    <div id="body-content">
        <...
        a lot of tags from the web site
        ...>
        <script type="text/javascript" src="http://cdn.jquerytools.org/1.1.1/jquery.tools.min.js"></script>
        <script type="text/javascript" src="my_script.js"></script>
    </div>
    <div id="isolated-component">
</div>
<body>

したがって、#isolated-componentを設定して、jQueryの選択から簡単に破棄できます。

私はそれを試しました:

jQuery("body").children().wrapAll("<div id='body-content'></div>")
                        .after("<div id='isolated-component'></div>");

しかし、結局:

<html>
<head>
<body>
    <div id="body-content">
        <div id="body-content">
            <... page content ...>
        </div>
        <div id="isolated-component"/>
        <div id="isolated-component"/>
    </div>
    <script src="my_script.js" type="text/javascript">
    </script>
</body>
<div id="_firebugConsole" style="display: none;" FirebugVersion="1.4.3" methodName="log"/>
</html>
4

2 に答える 2

2

わかりました、理由がわかりました。本文のコンテンツを DIV に移動すると、スクリプトを移動する JS を含むスクリプト タグが移動し、スクリプトが 2 回目に実行されます。なぜこれが無限ループに陥らないのかはわかりませんが、知っておくとよいでしょう。

于 2009-10-09T12:27:50.637 に答える
0

これで問題が解決するかどうかはわかりませんが、次を使用する必要がありますwrapInner

jQuery("body").wrapInner("<div id='body-content'></div>")
    .after("<div id='isolated-component'></div>");
于 2009-10-09T11:35:11.960 に答える