编辑:这个问题是关于jQuery重构的。基本上我有一大块代码,但我想看看其他人是否可以想出更好的方法来重构它。由于我是新来的jQuery我不知道如果我在正确的轨道或不符合我的设计jQuery:我应该如何构造一个由jQuery生成的新列表
原帖: 我正在这增加HTML元素的页面书签。我正在构建一个侧栏,里面有一个ul。我试图让自己的风格与我的代码分开,并且还要编写一些东西,以便在将来需要进行更改时易于管理。是否有可能重构此代码,使其更清洁/更高效?
myObj = {
$sidebar: {},
createSidebar: function() {
var self = this, $undo = {}, $redo = {}, $email = {}, $reset = {}
self.$sidebar = $("<div id='myObj-sidebar'><ul></ul></div>");
$undo = $('<a></a>', {
id: 'sidebar-undo',
className: 'sidebar-item',
href: '#',
text: 'Undo',
click: function (e) {
//self.doUndo();
e.preventDefault();
}
});
$redo = $('<a></a>', {
id: 'sidebar-redo',
className: 'sidebar-item',
href: '#',
text: 'Redo',
click: function (e) {
//self.doRedo();
e.preventDefault();
}
});
$email = $('<a></a>', {
id: 'sidebar-change-email',
className: 'sidebar-item',
href: '#',
text: 'Change E-Mail',
click: function (e) {
//self.createEmailDialog();
e.preventDefault();
}
});
$reset = $('<a></a>', {
id: 'sidebar-reset-all',
className: 'sidebar-item',
href: '#',
text: 'Reset All',
click: function (e) {
//self.doReset();
e.preventDefault();
}
});
self.$sidebar.find('ul').append($undo, $redo, $email, $reset);
self.$sidebar.find('.sidebar-item').wrap('<li/>');
self.$sidebar.appendTo("body");
}
}
这个问题非常含糊。你可以再详细一点吗? – hugomg 2011-06-01 21:10:08
改变了这个问题,使它更具体。基本上只是寻找重构提示 – 2011-06-03 07:15:02