jQueryをいじったらなぜか動かなくなってしまい、原因を探したら、意外とみおとしていたところにありました。案外おこるきがするので書きます。
今回は、変数にセレクタを代入したことが原因でした。 直す前(問題の)コード
$(function () { var $rform = $("#rform"), $menu = $rform.find("#option_menu"), $custom = $menu.find(".customCheckBox a"), (略) $rform.css3form().find("#option").click(function () { if("checked" == $(this).attr("checked")) { $menu.animate({ width: "0"
直したコード
$(function () { var $rform = $("#rform"); $rform.css3form();//ココです var $menu = $rform.find("#option_menu"), $custom = $menu.find(".customCheckBox a"), (略) $rform.find("#option").click(function () { if("checked" == $(this).attr("checked")) { $menu.animate({ width: "0"
css3formとは、チェックボックスやラジオボタンをデザインしやすくするプラグインを実行する関数です。 実行すると、.customCheckBox aというものができます。 問題のコードでは、作られる前にキャッシュしてしまっています。 意外とここではまってしまい、時間がかかりました。 (なぜか次の日に速攻でみつけました。一日寝てからみてみるのが効果あるっていう噂は本物でした。)
コードをいじって動かなくなった場合、セレクタのキャッシュをおってみるというのも考えてみるといいかもしれません。