Я удаляю элемент из списка, а счетчик уменьшается на количество элементов до того, которое нужно удалить, а не просто уменьшается на один
Почему это?
$(document).ready(function () {
var count = 0;
$("#clckToInsert").click(function () {
var value = $('#misInput').val();
var deleter = "<a href = #> X </a>";
var li = '<li id = "item">' + value + deleter + '</li>';
count++;
$("#counter").html(count);
$("#list").append(li);
$('a').click(function () {
count--;
$(this).parent().remove();
$("#counter").html(count);
Внутри обработчика кликов #clckToInsert
вы привязываете дополнительный обработчик кликов каждый раз a
каждом #clckToInsert
:
$("#clckToInsert").click(function () {
/* ... */
$('a').click(function () {
Поэтому каждый раз, когда #clckToInsert
обработчик #clckToInsert
, каждый a
на вашей странице имеет дополнительный обработчик. Таким образом, каждый клик по принципу a
огне, что многие обработчики, убывающие, что количество раз.
Вы привязываете count--
вызов count--
к любому элементу <a>
. Это означает, что у вас есть n
обработчиков для любой ссылки.
Если вы что-то изменили, следующее должно быть в порядке.
var $li = $(li)
$('#list').append($li)
$li.find('a').click
value
является строкой.string.find
не удастся.