0

出于某种原因,我的 jQuery 脚本只是不想工作,而且它真的很简单,除了实际的 jquery 脚本之外,我已经把所有东西都拿走了,这真的很烦人,请帮忙。谢谢!

 <!doctype html>
<html>

    <head>
        <script src="jquery.js"></script>
        <script>
            $("#click").click(function () {
                alert("works!");
            });
        </script>
    </head>

    <body>
        <a href="#" id="click">Button</a>
    </body>

</html>

PS jQuery JS 文件有效。

4

7 回答 7

7

将您的代码更改为此。它确保在所有 HTML 元素都加载到页面后执行 JavaScript:

$(document).ready(function () {
   $("#click").click(function() {
      alert("works!");
   });
});

但是,您应该将脚本标签移动到页面底部,以确保它们不会被阻塞。这也意味着您实际上不需要 $(document).ready 回调。

于 2013-01-23T12:28:02.853 回答
4

您需要将代码包装在

$(function(){
    // your code here which relies on DOM elements
});

否则,您的 DOM 尚未加载,事件将不会绑定到元素。

于 2013-01-23T12:27:18.667 回答
2

将您的函数包装到$(document).ready()

$(document).ready(function(){
    $("#click").click(function() {
        alert("works!");
    });
});
于 2013-01-23T12:28:03.463 回答
1

document.ready像这样在里面添加你的代码

$(document).ready(function () {
  $("#click").click(function () {
       alert("works!");
   });
});

或像这样在文档末尾添加您的代码

<body>
   <a href="#" id="click">Button</a>
   // Other elements...
    <script type="text/javascript">
            $("#click").click(function () {
                alert("works!");
            });
    </script>
</body>
于 2013-01-23T12:29:18.190 回答
0
$(document).ready(function(e) {
//TO DO  your code goes here         
}); 
于 2013-01-23T12:34:57.250 回答
0

只需将您的脚本标签更改为“/body”标签。这将让浏览器创建 DOM 并一一读取脚本!干杯!

于 2013-01-23T13:09:44.197 回答
-1

尝试这个:

$("#click").live("click",function() {
    alert("works!");
});
于 2013-01-23T12:31:16.757 回答