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)

推薦する

MySQL データベースの Binlog 使用法の概要 (必読)

MySQL データベースにとって binlog バイナリ ログがどれほど重要であるかについては詳し...

React、Angular、Vueの3つの主要なフロントエンド技術の詳細説明

目次1. 反応する基本的な使い方注目すべき機能クラスコンポーネント仮想DOMライフサイクルメソッドJ...

Jenkinsはマイクロサービスをパッケージ化してDockerイメージを構築し、実行します。

目次環境の準備始める1. GitLabリモートリポジトリがマイクロサービスプロジェクトを作成する2....

MySQL InnoDB トランザクション ロック ソースコード分析

目次1. ロックとラッチ2. 繰り返し読み取り3. インサートロックプロセス3.1 ロックモード3....

type=fileファイル変更フォームの名前が正常にエコーされない問題を解決

easyui フレームワークのコードは次のとおりです。 css: .ファイルボックス{ フロート:...

Vue+Openlayerはmodifyを使用して要素の完全なコードを変更します

Vue+Openlayerはmodifyを使って要素を変更します。具体的な内容は以下のとおりです。 ...

CSSテーマを簡単に切り替える方法の詳細な説明

最近、個人の Web サイトに非常にシンプルなカラー スキーム (テーマ) スイッチャーを追加しまし...

Linux に Python 3.8.1 をインストールするための詳細なチュートリアル

この例では、Linux への Python 3.8 のインストールを例に挙げます。 1. 依存パッケ...

MySQL 8.0.22 の最新バージョンのダウンロードとインストールの超詳細なチュートリアル (Windows 64 ビット)

目次序文1. 公式サイトからMySQL 8.0.22をダウンロードする2. 環境変数を設定する3. ...

配列をフィルタリングするJavaScript

この記事では、配列フィルタリングを実装するためのJavaScriptの具体的なコードを参考までに紹介...

MySQL のデータ型とフィールド属性の原理と使用法の詳細な説明

この記事では、MySQL のデータ型とフィールド属性について説明します。ご参考までに、詳細は以下の通...

Vue の匿名スロットと名前付きスロットの詳細な説明

目次1. 匿名スロット2. 名前付きスロット要約するスロット (slot) は、Vue のコンテンツ...

HTMLフォーム送信方法のケーススタディ

フォームの送信方法をまとめると次のようになります。 1. 送信ボタンを使用して送信します。送信ボタン...

Vueは虫眼鏡付きの検索ボックスを実装します

この記事では、Vueを使用して虫眼鏡付きの検索ボックスを実装する方法を紹介します。具体的な内容は次の...

Vue 親子コンポーネントの相互値の転送と呼び出し

目次1. 親が子コンポーネントに値を渡す2. 子コンポーネントが親コンポーネントに値を渡す3. 子コ...