このコードを機能させる適切な方法は何ですか?
$(function(){
var base = {
$wrapper: $('.homepage_main'),
$main: base.$wrapper.find('#primary').find('.home_slides').closest('[data-id="Colleague"]'),
$panel: base.$wrapper.find('#sidebar').find('.home_slides').closest('[data-id="Colleague"]'),
Template: {
$img: function () { return $('img'); }
},
Modal: {
$modalInterrupt: $('#searching_interruption'),
Suggestion: {
$self: $('#suggested_colleague'),
$loading: base.Modal.Suggestion.$self.find('.gif_loading'),
$paging: base.Modal.Suggestion.$self.find('.pagination'),
$itemContainer: base.Modal.Suggestion.$self.find('.request_items'),
$itemClone: base.Modal.Suggestion.$itemContainer.find('[data-id="Clonable"]').clone().removeAttr('data-id').removeClass('hide'),
$lblCount: base.Modal.Suggestion.$self.find('[data-id="SuggestCount"]'),
$listItems: function () {
return base.Modal.Suggestion.$itemContainer.find('.coll_panel_content:not([data-id="Clonable"])');
}
}
}
};
});
Google ChromeUncaught TypeError: Cannot read property '$wrapper' of undefined
コンソールを見るとわかります。
を引き出してみましたが、$wrapper
新しいエラーが発生しました:
Uncaught TypeError: Cannot read property 'Modal' of undefined
管理がより簡単なので、このアプローチを採用しました。たとえば、HTML ページでクラス名または ID を変更した場合、jquery コードで特定の変数を 1 つ変更するだけで、すべてが正常に戻ります。より良いアプローチを知っている場合は、親切に私に共有してください。