スクリプトは HTML 内のどこにでも配置できると思っていましたが、今日リクエストを行ったときにその誤解を修正しました。スクリプトの位置はランダムではありません。
まず、yesとnoの2つのオプションを持つselectタグを実装したいのですが、selectタグは初期化時にデフォルトでnull値を選択する必要があるため、そのときにnull値を削除するメソッドを追加しました。クリック:
<!DOCTYPE html> <html> <head> <script src="jquery/jquery-1.11.1.min.js"></script> </head> <script> $('#checkcash').click(function () { if ($('#checkcash').val() == '0') { $("#checkcash option[value='0']").remove(); } }); $("#alert").click(function(){ alert("1123"); }) </script> <body> 是否已提现 <select id="checkcash" style="width: 181px"> <option selected="selected" value="0"></option> <option value="1">是</option> <option value="2">否</option> </select> <input type='button' id='alert' value="anwo"> </body> </html>
しかし、これでは期待した効果が得られません。最初はjqueryの構文エラーかと思いましたオンラインで確認して修正し続けましたが、うまくいきませんでした。その後、ふと考えました。スクリプトを後ろに置く必要があります。試してみた結果、確かに問題ありませんでしたが、突然そうではないことに気づきました。
後で確認したところ、原因はhtmlファイルがトップダウンで実行されるためでしたが、インポートされたcssとjavascriptの順序が異なっており、実行と読み込みのためにcssが導入されたときでもプログラムは実行されています。下方向に進み、実行は <script> に達します。スクリプトはスレッドを中断し、スクリプトの実行が完了した後にのみプログラムの実行を継続します。したがって、スクリプトの長時間実行による遅延ブロックを避けるために、スクリプトは通常、本文の後に配置されます。一部のページの効果を実現するには、一部の JS スクリプトを事前に動的に読み込む必要があるため、これらのスクリプトを <body> の前に配置する必要があります。 <span style="color: #ff0000;">次に、dom 要素にアクセスする必要がある js を本文の前に配置することはできません。dom がまだ生成されていないため、本文の前に dom 要素にアクセスする js はエラーになるか無効になります。 <span style="color: #000000;">このため、domが生成される前にメソッドを追加したことがこのようになりました。 </script>
本当はもっと勉強するべきだと思うのですが、それについては掘り下げません。これからも頑張ってください!
ps: 実際には、jquery の初期化ページ メソッドを使用して、上記のラベルに追加されたクリック イベント を $(function(){}) に追加する別の方法もあります。原理は同じです。このメソッドはページが読み込まれた後に実行されるため、どこに配置されても使用できます。
以上が