Я использую классический обработчик jQuery «.on» для проверки щелчка на каком-то якоре, который я добавил с добавлением.jQuery: как получить параметр из элемента html, добавленного с помощью .append и обрабатываемого с .on?
$('#selector-to-thing-that-exists').on('click', '.thing-that-will-be-added-later', function() {
//I want to get the "data-pointnumber" and "data-goodanswer" on the clicked element.
});
Проблема здесь состоит в том, что $ (это) дать мне $ («# Селектор к вещи, что-существует»), а не Clicked элемент (это ссылка). Я достаточно ясно?
$.each(this.currentQuestion.Reponse,function (arrayID,rep) {
$('#QuestionContainerSingle').find('.liste-boutons').append('<li><a href="" class="button-big btn-rep" data-nbpoints="'+rep.NbPoints+'" data-bonne="'+rep.Bonne+'">'+rep.Texte+'</a></li>');
});
$('#QuestionContainerSingle').on('click','.btn-rep',function (e) {
e.preventDefault();
console.log($(this).attr('data-nbpoints'));
});
Вот HTML ... Как это часть большого приложения, это не так легко извлечь только то, что мне нужно на этот вопрос!
<div class="question-content" id="QuestionContainerSingle">
<div class="header-question">
<p class="intitule">
</p>
</div>
<div class="content">
<div class="title-box">Find the best answer</div>
<ul class="liste-boutons">
</ul>
</div>
</div>
$ (это) предоставит вам класс «все, что будет дальше - позже», а не # селектор к чему-то-то-есть. Дополнительный параметр, передаваемый между кликом и функцией(), в основном относится к целевому элементу внутри # selector-to-thing-that-exists. Кроме того, если бы вы могли добавить html, это помогло бы разобраться с точной проблемой. – DinoMyte
Я отредактировал свой вопрос с помощью некоторого html и немного изменил свой JS, чтобы быть яснее ... Я до сих пор не понимаю, почему $ (this) do не возвращайте мне элемент «.btn-rep». Просто отметьте, что «e.target» вернет мне хороший элемент! – Dantahoua