【发布时间】:2015-06-13 03:23:21
【问题描述】:
我有这两个函数,在我的主要函数中。正如您将看到的,它们两者之间的唯一区别在于它们如何附加/编辑 html。我想提出两个新功能会很好,一个用于前半部分,另一个用于下半部分。我不确定这是否可以使用 jQuery,甚至使用 JavaScript,因为我不知道如何在这些函数中调用这些新函数,如果这有意义的话。任何帮助/指导都会很棒!
这是第一个
$('#save').click(function(){
var title = $('#title').val();
var tags = $('#tags').val();
var notes = $('#notes').val();
var myDate = new Date();
if (title.length < 1) {
$('.title-warn').show();
}
if (tags.length < 1) {
$('.tags-warn').show();
}
if (notes.length < 1) {
$('.notes-warn').show();
}
if (title.length >= 1 && tags.length >= 1 && notes.length >= 1) {
$allNotes.prepend('<li class="note"><div><h1>' + title + '</h1><div class="date"> <h2>'+ myDate.toDateString() +'</h2><span class="btn btn-edit">Edit</span></div><h3>' + tags + '</h3><p>' + notes + '</p></div></li>');
$allNotes.show();
$newNote.hide();
$('.title-warn').hide();
$('.tags-warn').hide();
$('.notes-warn').hide();
}
$('#title').val('');
$('#tags').val('');
$('#notes').val('');
$('#search').prop('disabled', false);
$('#search').attr("placeholder", "Search by title, tags, date, or even words/sentences in notes");
$('.btn-search').prop('disabled', false);
});
现在是第二个
$('#edit').click(function(){
var title = $('#edit-title').val();
var tags = $('#edit-tags').val();
var notes = $('#edit-notes').val();
var myDate = new Date();
if (title.length < 1) {
$('.title-warn').show();
}
if (tags.length < 1) {
$('.tags-warn').show();
}
if (notes.length < 1) {
$('.notes-warn').show();
}
if (title.length >= 1 && tags.length >= 1 && notes.length >= 1) {
$('.edited-note').html('<div><h1>' + title + '</h1><div class="date"> <h2>'+ myDate.toDateString() +'</h2><span class="btn btn-edit">Edit</span></div><h3>' + tags + '</h3><p>' + notes + '</p></div>');
$('.allnotes').show();
$('.edit-note').hide();
$('.title-warn').hide();
$('.tags-warn').hide();
$('.notes-warn').hide();
}
$('#title').val('');
$('#tags').val('');
$('#notes').val('');
$('#search').prop('disabled', false);
$('#search').attr("placeholder", "Search by title, tags, date, or even words/sentences in notes");
$('.btn-search').prop('disabled', false);
$('.edited-note').removeClass('edited-note');
});
当然,如果有人对我的代码的任何其他方面有任何建议,我会接受批评!
【问题讨论】:
-
你能稍微澄清一下你所说的下半场是什么意思吗?此外,在多个选择器上执行相同操作时,您可以通过一次全部选择它们来节省资源和输入:
$('.title-warn, .tags-warn, .notes-warn').hide();如果您喜欢冒险,您可以实施这个小技巧。 ;) -
我只是指我添加/编辑 html 之后的部分。不过,我一定会采纳你的把戏,谢谢!
标签: javascript jquery refactoring dry