Попытка сделать некоторый код JQuery после добавления - PullRequest
1 голос
/ 26 октября 2019

У меня есть несколько ссылок, и я хочу, чтобы что-то произошло, когда я нажимаю на ссылку. Однако я создаю эти элементы с помощью .append. Это мой код jQuery:

$(".ClickTools").click(function(){alert(1);});

Он не работает после .append, но работает, когда элемент уже есть (без использования добавления). Мне нужно, чтобы этот код работал, даже когда элемент был добавлен на страницу с добавлением

Это HTML-код:

<div id="appender"></div>

И это мой код добавления JQuery:

$("#appender).append('<a class=".ClickTools">click on me</a>');

Когда я нажимаю кнопку Click on me, ничего не происходит. Кто-нибудь может объяснить, почему?

Ответы [ 2 ]

1 голос
/ 26 октября 2019

Сделайте это следующим образом:

$('<a>click on me</a>').appendTo('#appender').click(function(){alert(1);});

Использование appendTo позволит вашему созданному объекту быть возвращенным последним, поэтому вы можете напрямую добавить к нему событие щелчка.

0 голосов
/ 26 октября 2019

, так как dom-элемент не существует при разборе, вы должны привязать событие к элементу, который уже существует, например, к документу:

$(document).on('click', '.ClickTools',function(){ console.log(123) });

Также вам не нужна точка (.) В то время какдобавление и настройка имени класса (исправлена ​​также пропущенная кавычка)

$("#appender").append('<a class="ClickTools">click on me</a>');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...