ここから本文です

htmlについて。 jsファイルの読み込みの順序(優先度?)を設定したい。

ory********さん

2014/5/403:15:00

htmlについて。
jsファイルの読み込みの順序(優先度?)を設定したい。

2つのjsファイル(basic.js、script.js)があります。

basic.jsには、html追加、書き換えのスクリプトが記述されており、script.jsはbasic.jsで追加された要素<div class="abc"></div>にタブのような挙動を与えるプラグインです。

挙動は、ページ読み込み時(#がない状態)ではタブ1が、2がクリックされると#2がURLに追加され、タブ2が表示されるようになっています。

現状では、ページ読み込み時はタブ1と書かれたところしか表示されず、本体部分が表示されません。
しかし、2をクリックすれば、きちんとタブ2の本体が表示され、もう一度1をクリックすればタブ1が本体もきちんと表示されます。

恐らくは、プラグインのほうが、jQueryでhtmlを書き込むより先に動作してしまうことによって起こっているものとみられます。
basic.jsのhtml書き換えは $(document).ready() で実行しています。
script.jsのほうは、正直何を書いているかちんぷんかんぷんなのでいじりようがありません。

どうにかして、htmlが書き込まれてからプラグインを実行というのはできないのでしょうか。
よい方法をご存知の方は是非にご教授ください。よろしくお願いします。

閲覧数:
2,218
回答数:
1
お礼:
50枚

違反報告

ベストアンサーに選ばれた回答

プロフィール画像

カテゴリマスター

siiさん

編集あり2014/5/910:42:01

とりあえず思い付いたのはこのくらいですが…。

(1) $.getScriptを使う
$(document).ready(function() {
//先にHTML編集の処理
$.getScript("script.js");
});

【参考】
jQuery.getScript() | jQuery API Documentation
https://api.jquery.com/jQuery.getScript/

(2) script要素の場所を変える
・script要素の位置をそれぞれ、body要素の末尾にする
・basic.jsで$(document).readyを使用しない(即実行する)
・basic.jsより後にscript.jsを読み込む

この回答は投票によってベストアンサーに選ばれました!

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる