2017-01-05 3 views
-3

私は、このサンプルコードで説明しましょう:特定の子divの後に2番目のスクリプトを選択するにはどうすればよいですか?

<div id="wrapper"> 
    <header>...</header> 
    <script type="text/javascript">...</script> 
    <script type="text/javascript" src="..."></script> 
    <script type="text/javascript" src="..."></script> 

    <!--header scripts inserted here--> 

    <div id="content">...</div> 
    <script type="text/javascript">...</script> 
    <script type="text/javascript" src="..."></script> 

    <!--footer scripts inserted here--> 

    <script type="text/javascript" src="..."></script> 
    <div id="something">...</div> 
    <footer>...</footer> 
</div> 

は、ここで私が何をしようとしているのです。もちろん(jQueryの例えば実際のJSが読みにくくているだけのように)

$(` 
    <script type="text/javascript" src="..."></script> 
    <script type="text/javascript" src="..."></script> 
`).insertAfter("div#wrapper > div#content + script:eq(2)"); 

セレクタかかわらずinsertAfterで動作しません...
どのように正確に動作させるのですか?

はい、スクリプトの位置は非常に限定されています。 (本文中)

私の目標は、本文のすべてがロードされる前に、サブスクリプトをページに挿入するために、サンプルスクリプトをヘッドで実行することです。
ヘッダーがフッターの前にロードされ、挿入されたスクリプトの順序が重要です。

私はまた、すべてのページに私が挿入しようとしているこれら2つの特定のスクリプトがあるわけではありませんので、問題のdivの後に挿入が起こることがわかりました。

+2

待って、何?このように '

1

はよく、それはコンテンツの負荷をだ前に、DOM要素"div#wrapper"が存在することを確認するために何かを見つけることができないの後、私はするのではなく、挿入場所に2つのスクリプトを追加することを決定しましたサブスクリプトを「現在の」観点からロードします。

リファレンスコード:(両方で同じで脇ロードされたスクリプトからファイルをJS)

$(this).append(` 
<script src="..."></script> 
<script src="..."></script> 
`); // found out the mime-type actually detriments your html and isn't needed. 

それが適切にサブスクリプトをロードしている間、
追加のスクリプトタグは、DOM(要素に表示されません。タブ)

+0

これは完全にうまくいった、2つのスクリプト内の参照されたスクリプトはすべて問題なしで読み込まれます:) – Tcll

関連する問題