0

我已经疯了好几个小时在我的网站上测试一些 jquery 脚本并且没有任何工作,而它可以在 Fiddles 上工作......

所以这就是我的:

然后我有一个如下脚本,但我无法让它工作!!!

<script type="text/javascript">
$(":checkbox").bind("click", function(event) {
    if ($(this).is(':checked')) {
        $(".itemBox:not(#" + $(this).val() + ")").hide();
        $(".itemBox[id='" + $(this).val() + "']").show();
    } else {
        $(".itemBox").show();
    }
});
</script>
4

2 回答 2

5

您必须等待文档加载,然后才能将事件绑定到它。

jQuery 提供了一种简单的方法来做到这一点,通过调用readydocument 上的方法,并将所有代码放入该函数中:

jQuery(document).ready(function($) {
    // All of your code should go in this function
});
于 2012-08-02T20:33:46.977 回答
0

稍微清理一下代码,使用文档准备好在附加事件处理程序之前确保元素存在。

jQuery( function() {  //wait for document to be ready
    //$(":checkbox").on("click", function (event)  //should really use on() if it is jQuery 1.7+
    $(":checkbox").bind("click", function (event) {  //bind is deprecated
        var cb = jQuery(this),
            items = $(".itemBox");
        if (cb.is(':checked')) {
            items.hide();
            $("#" + cb.val()).show();
        } else {
            items.show();
        }
        cb = items = null;
    });
});
于 2012-08-02T20:42:54.900 回答