var s = '' +
'<p></p>' +
'<p><br></p>' +
'<p></p><p></p>' +
'<p></p><p><br></p>' +
'<p><br></p><p><br></p>';
var doc = new DOMParser().parseFromString(s, 'text/html');
doc.body.innerText === '' // true
input[type=date]
- никак. Каких-нибудь плагинов с этой функциональностью море, выбирайте любой, который понравится. Называется datepicker. if (ev.target.tagName === 'LI') {
ev.target.classList.toggle('done')
}
function submitTask() {
let newTask = document.createElement('li')
newTask.innerText = textarea.value
list.appendChild(newTask)
}
Вот так уже работаетНу где же оно работает, если у вас 3 раза вывелось undefined и один раз массив? Просто вы перестаёте обращаться к несуществующему свойству и код не падает на первой же итерации. Однако никакой массив ничем не становится, такое значение туда и пришло. Ещё один вариант - this в момент исполнения указывает уже не на объект класса.
(this.listeners || []).forEach(...)