126

コード:

<script src="http://code.jquery.com/jquery-latest.min.js" type="text/javascript"></script>
<script type="text/javascript">
    $("#clicker").click(function () {
        alert("Hello!");
        $(".hide_div").hide();
    });
</script>

上記のコードは機能しません。#clicker をクリックすると、アラートが表示されず、非表示になりません。コンソールを確認しましたが、エラーは発生しません。JQueryがロードされているかどうかも確認しましたが、実際にロードされています。したがって、問題が何であるかはわかりません。また、アラートを使用してドキュメント準備機能を実行しましたが、それが機能したため、何が間違っているのかわかりません。助けてください。ありがとう!

4

9 に答える 9

210

ブロックに JavaScript コードを追加することになってい$(document).ready(function() {});ます。

すなわち

$(document).ready(function() {
  $("#clicker").click(function () {
    alert("Hello!");
    $(".hide_div").hide();
  });
});

jQuery のドキュメントには次のように記載$( document ).ready()されています。実行するコード」

于 2013-09-03T22:14:47.100 に答える
87

$(document) で ON を使用することで、この問題の最適な解決策を見つけました。

 $(document).on('click', '#yourid', function() { alert("hello"); });

で始まる id については、以下を参照してください。

$(document).on('click', 'div[id^="start"]', function() {
alert ('hello'); });

最後に 1 週​​間後、onclick トリガーを追加する必要はありません。これが多くの人に役立つことを願っています

于 2015-12-03T19:22:49.377 に答える
21

コードは document.ready() がなくても機能する場合がありますが、スクリプトが #clicker の後にあることを確認してください。このデモをご覧ください: http://jsbin.com/aPAsaZo/1/

準備が整ったコンセプトのアイデア。スクリプトがページの最新のものであるか、影響を受ける要素の後にあることが確実な場合、スクリプトは機能します。

<!DOCTYPE html>
<html>
<head>


<meta charset=utf-8 />
<title>JS Bin</title>
</head>
<body>
  <script src="https://code.jquery.com/jquery-latest.min.js"
        type="text/javascript"></script>
  <a href="#" id="clicker" value="Click Me!" >Click Me</a>
  <script type="text/javascript">

        $("#clicker").click(function () {
            alert("Hello!");
            $(".hide_div").hide();

        });


</script>

</body>
</html>

注意: httpのデモでは、コード内 のthere に置き換えるhttpsか、このバリアントのデモを使用してください

于 2013-09-03T22:25:10.693 に答える
3

ボタンをクリックしないようにするもの (div や透明な画像など) がボタンにないことを確認してください。ばかげているように聞こえますが、jQuery が機能しておらず、問題は DOM 要素の配置にあると考えることがあります。

于 2014-10-03T10:23:51.397 に答える