Строка addDeal = document.querySelectorAll('.add__deal__btn');
запускается только один раз (при загрузке скрипта). В то время в DOM не было элементов <button>
с классом add__deal__btn
.
Чтобы достичь желаемого, просто добавьте прослушиватель событий для каждой вновь создаваемой кнопки. Как это:
let addTitle = document.querySelector('.add__title');
let addBtn = document.querySelector('.add__btn');
let tasks = document.querySelector('.tasks');
addBtn.onclick = function () {
let task = document.createElement('div');
task.className = 'task__card';
let taskTitle = document.createElement("h4");
taskTitle.innerText = addTitle.value;
task.appendChild(taskTitle);
let addDealBtn = document.createElement("button");
addDealBtn.className = "add__deal__btn";
addDealBtn.innerText = "Add deal";
task.appendChild(addDealBtn);
tasks.append(task);
addDealBtn.onclick = function() {
alert('Hey it works!');
};
}
<div class="add">
<input type="text" class="add__title">
<br>
<button class="add__btn">Add</button>
</div>
<div class="tasks"></div>
Совет: Вам не нужно создавать массив для хранения каждой новой кнопки, которую вы создаете.