1

我正在尝试制作两个 div,当单击一个时,它会隐藏另一个。这是我的代码:

<head>

    <script src="jquery-1.9.1.min.js"></script>
    <script>
        $("#top").click(function {
            $("#box").toggle();
        })
    </script>

</head>
<body>

    <div id="top"></div>
    <div id="box"></div>

</body>

但是当我点击时top,什么也没有发生。

编辑:我将其更改为:

$(document).ready(function(){
    $("#top").click(function {
        $("#box").toggle();
    })
});

它仍然无法正常工作

Edit2:原来我在 click(function) 中缺少括号

4

4 回答 4

4

您错过了函数后的括号。我认为您需要放入document.ready以便元素在被javasscript.

$("#top").click(function (){
                         ^^

现场演示

$(document).ready(function(){
  $("#top").click(function (){
        $("#box").toggle();
    });
});
于 2013-02-11T16:31:42.483 回答
3

你缺少括号

$("#top").click(function() {
                        ^^

由于 jQuery 位于 HTML 之上,因此您需要将 jQuery 包装在document.ready包装器中,例如:

$(function(){
    // your code
});

或者,将 jQuery 脚本标签移动到 HTML 下方,例如:

<div id="top">one</div>
<div id="box">two</div>
<script>
    $("#top").click(function() {
        $("#box").toggle();
    })
</script>
于 2013-02-11T16:36:45.397 回答
1

您需要将代码放入document.ready

$(document).ready(function() {
   // do stuff when DOM is ready
 });

在此处阅读有关jquery 入门的信息

于 2013-02-11T16:32:54.107 回答
0

这是可以工作的编写代码。

$(document).ready(function(){
  $('#top').click(function(){
     $("#box").toggle(500);
  });
});

您可以在此处查看示例http://jsfiddle.net/deepp2887/Pnamj/。您可以根据需要更改 .toggle(500) 动画速度。

于 2013-02-11T16:45:55.603 回答