Это должно сработать:
$('li a').on('click', function(e) {
e.preventDefault();
$(this).parent().hide();
});
Селектор li a
находит все теги <a>
внутри любого <li>
(здесь я сохранил это просто, поэтому он будет жадным). Затем мы используем $.on()
для привязки обработчика события к событию click
.
Теперь мы используем анонимную функцию (функцию без имени) для выполнения наших действий. Здесь мы передаем e
в функцию в качестве аргумента. e
содержит объект события, поэтому мы можем сделать e.preventDefault()
на следующей строке. Эта строка останавливает браузер, выполняющий поведение по умолчанию для ссылки, которая заключается в переходе к URL-адресу в атрибуте href
в теге <a>
.
Важной является строка $(this).parent().hide()
. Здесь $(this)
ссылается на ссылку, по которой щелкнули, поэтому $(this).parent()
мы можем получить доступ к родительскому узлу (тегу) <a>
, который в данном случае является <li>
. Добавление .hide()
в конец скрывает <li>
, и все готово.
Чтобы обновить .updateNumber
span, добавьте этот код в функцию обработчика кликов:
var currentNumber = parseInt($('.updateNumber').text());
currentNumber++;
$('.updateNumber').text(currentNumber);
Первая строка получает целое число из текста в пределах вашего диапазона и присваивает его переменной с именем currentNumber
. parseInt()
попытается превратить все, что находится внутри диапазона, в целое число.
Вторая строка currentNumber++;
берет текущее значение, полученное нами из диапазона, и увеличивает его на один (++
) бит.
Затем мы хотим заменить текст, отображаемый в промежутке, новым, обновленным значением, поэтому мы возвращаем новое значение в промежуток, снова используя $.text()
:
$('.updateNumber').text(currentNumber);
Обратите внимание, что использование $.text()
без передачи ему строки будет извлекать текст элемента, тогда как предоставление $.text()
с аргументом, таким как "Hello world, I'm a string"
, поместит эту строку в целевой элемент.
Здесь - это рабочее демо, с гордостью созданное и спонсируемое @Reigel из комментариев.