HTML におけるスクリプトの配置に関する簡単な説明

HTML におけるスクリプトの配置に関する簡単な説明

以前は、スクリプトは HTML 内のどこにでも配置できると思っていましたが、今日、要件に取り組んでいるときに、スクリプトの場所をランダムに配置することはできないという誤った考えを訂正しました。

まず、yes と no の 2 つのオプションを持つ select タグを実装します。ただし、初期化時に、select タグはデフォルトで空の値を選択する必要があるため、クリック時に空の値を削除するメソッドを追加しました。

XML/HTML コードコンテンツをクリップボードにコピー
  1. <!DOCTYPE html >   
  2. <html>   
  3. <ヘッド>   
  4. <スクリプト  src = "jquery/jquery-1.11.1.min.js" > </スクリプト>   
  5. </ヘッド>   
  6. <スクリプト>   
  7. $('#checkcash').click(function() {
  8. ($('#checkcash').val() == '0')の場合{
  9. $("#checkcash オプション[= '0' ]").remove();
  10. }
  11. });
  12. $("#alert").click(function(){
  13. アラート("1123");
  14. })
  15. </スクリプト>   
  16. <本文>   
  17. 現金は引き出されました   id = "チェックキャッシュ"    スタイル= "幅: 181px" >   
  18.                              <オプション  selected = "選択済み"  = "0" > </オプション>   
  19.                              <オプション = "1" >はい</オプション>   
  20.                              <オプション = "2" >いいえ</オプション>   
  21.                              </選択>   
  22.                                 
  23.                              <入力 タイプ= 'ボタン'   id = 'アラート'  = "anwo" >   
  24. </本文>   
  25.   
  26.   
  27. </html>   

しかし、これでは期待した効果が得られませんでした。最初はjQueryの構文エラーだと思ったので、オンラインで確認したり修正したりし続けましたが、うまくいきませんでした。その後、スクリプトを最後に置くべきだと突然思いつきました。試してみたところ、大丈夫でした。その後、これはそうではないことに気づきました。

後から原因を調べたところ、HTMLファイルは上から下へ実行されていたものの、導入されたCSSとJavaScriptの順序が異なっていたためであることがわかりました。CSSが導入されて読み込まれると、プログラムは下方向に実行され続け、<script>スクリプトまで実行されたところでスレッドが中断され、scriptスクリプトが実行された後もプログラムの実行が継続されていました。したがって、スクリプトの長時間実行によって発生する遅延やブロックを回避するために、スクリプトは通常、本体の後に配置されます。いくつかのページ効果を実現するには、事前にいくつかの js スクリプトを動的に読み込む必要があるため、これらのスクリプトは <body> の前に配置する必要があります。次に、DOM の生成がまだ開始されていないため、DOM 要素にアクセスする必要がある js を body の前に置くことはできません。そのため、body の前に DOM 要素にアクセスする js は失敗するか無効になります。このため、DOM が生成されなかったときにメソッドを追加したところ、このような結果になりました。

本当はもっと多くのことを学ぶべきだったのですが、深く掘り下げてはいませんでした。頑張ってください!

ps: 実は、jquery の初期化ページ メソッドを使用する別の方法もあります。また、上記のラベルに追加されたクリック イベントを $(function(){}) に追加することもできます。原理は上記と同じです。このメソッドはページが読み込まれるまで実行されないため、どこに置いても問題ありません。

HTML でのスクリプトの配置に関する上記の簡単な説明は、エディターが皆さんと共有する内容のすべてです。これが皆さんの参考になれば幸いです。また、123WORDPRESS.COM をサポートしていただければ幸いです。

<<:  エンコードが utf-8 に設定されている場合に Web ページが文字化けする問題の解決策

>>:  MySQL 演算子の具体的な使用法 (and、or、in、not)

推薦する

JavaScript のデシェイクとスロットリングの例

目次安定スロットル: 手ぶれ防止: 一定時間内に最後のタスクのみを実行します。スロットル: 一定期間...

フォント宝庫 50 種類の素晴らしい無料英語フォントリソース パート 1

デザイナーは独自のフォント ライブラリを持っているため、プロジェクトの設計時にすぐに使用できます。今...

Docker で PostgreSQL を実行し、いくつかの接続ツールを推奨する

1 はじめに PostgreSQL は、非常に充実した機能を備えたフリーソフトウェアのオブジェクトリ...

JavaScript 配列を走査する 5 つの方法

目次1. forループ: 基本的でシンプル2. forEach() メソッド: コールバック関数の使...

HTML チュートリアル: title 属性と alt 属性

XHTML は CSS レイアウトの基礎です。jb51.net は常に XHTML 知識の習得を重視...

純粋な CSS を使用して脈動するローダー効果のソースコードを作成する

効果プレビュー右側の「クリックしてプレビュー」ボタンを押すと現在のページでプレビューが表示され、リン...

Dockerでイメージをプルするための手順を完了する

1. Docker pullはイメージをプルします$ docker pull {IMAGE_NAME...

MySQL は重複データを削除して最小の ID ソリューションを維持します

オンラインで検索して重複データを削除し、ID が最小のデータだけを残します。方法は次のとおりです。 ...

Amoeba を使用して MySQL データベースの読み取り/書き込み分離を実装する方法の詳細な説明

MySQL には読み取りと書き込みを分離するアーキテクチャが多数あります。Baidu のそれらのほと...

Node.jsとDenoの比較

目次序文Denoとは何ですか? Node.jsとの比較建築ESモジュール依存関係の管理TypeScr...

MySQL ルートパスワードエラー番号 1045 の解決方法

MySQLサービスを停止するWindowsでは、マイコンピュータを右クリック--管理--サービスと...

MySQL ビューの原理と使用法の詳細な分析

序文: MySQL では、ビューはおそらく最も一般的に使用されるデータベース オブジェクトの 1 つ...

Vueページジャンプの実装方法

1. this.$router.push() 1. ビュー <テンプレート> <d...

MySQLのビューの詳細な説明

ビュー: MySQL のビューはテーブルと多くの類似点があります。ビューも複数のフィールドと複数のレ...

JavaScript データ構造 双方向リンクリスト

単方向リンク リストは、先頭から末尾、または末尾から先頭への方向のみを走査できます。そのため、単方向...