【发布时间】:2019-10-25 01:32:48
【问题描述】:
我正在创建一个注释列表,可让您从输入值添加注释。
在笔记列表ul 下,它会显示一条消息,说明笔记的数量。 ($('li').length)。
但是,如果您将新笔记添加到列表中,笔记的数量将保持不变。当您添加新笔记或通过删除列表中的所有谎言清除所有笔记时,它不会更新。
我尝试创建一个显示音符数量的函数,并将其添加为 addNote 和 clearNote 函数之后的回调函数,但它仍然只显示原始中 li 的数量HTML。 (3li)。
如何更新它以便在添加 li 时添加一个?
// N° of notes length
let numberOfNotes = $('li').length;
// End N° of notes length
NotesNumberMessage()
// Display N° of notes length
function NotesNumberMessage() {
$('#NumberPostMessage').text(`You have ${numberOfNotes} active notes`);
};
// End display N° of notes length
// Add a new note function
function addNote() {
$('#addBtn').on('click', function () {
let noteText = ($('#input').val());
let newTodo = $('<li class="list-group-item" id="note"></li>').text(noteText);
$('#noteList').append(newTodo);
});
NotesNumberMessage()
alert(numberOfNotes);
};
// End add a new note function
【问题讨论】:
-
您永远不会更新
numberOfNotes变量,它是一个数字。并且没有提及该数字是如何得出的。 -
不要使用变量
numberOfNotes,而是在每次需要获取实际数字时使用$('li').length,或者每次使用前更新numberOfNotes -
你可以实现你的逻辑并且可以分解成函数。为您创建了一个示例:codepen.io/anon/pen/rEBvxL
标签: javascript jquery html append