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 は、 document でメソッドを呼び出し、readyその関数内にすべてのコードを配置することで、これを行う簡単な方法を提供します。

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 に答える