filterData.map(c => {
const [m, y] = c.validTill.split('/')
const date = new Date(2000 + Number(y), m, 1, 23) // придется переписать в 22м веке :(
date.setDate(date.getDate() - 1)
return {
product: c.product,
maskedNum: c.cardNum.slice(0, 4) + ' ****** ' + c.cardNum.slice(-4),
validDate: date.toISOString()
}
})
titles = ['title one', 'title two', 'title three']
searcheable.innerHTML = `<ul>
${ titles.map( t => `<li>${t}</li>` ).join('') }
</ul>`
/*
<ul>
<li>title one</li><li>title two</li><li>title three</li>
</ul>
*/
var button = document.querySelectorAll('button');
button.addEventListener('click', function() { ... } )
window.addEventListener('popstate', this.my_func)
по добавлению к "card" какого-нибудь data атрибута
function addRandomColor(card) {
rgb = `(${Math.floor(Math.random() * 256)}, ${Math.floor(Math.random() * 256)}, ${Math.floor(Math.random() * 256)})`
card.style = `border-color: rgb${rgb};`
// тут найти card-header принадлежащий этой карточке
cardHeader.style = `background: rgb${rgb};`
}
button.addEventListener('click', () => {
if(something) {
window.location = 'https://qna.habr.com/q/741299'
}
})
при удалении возвращается обратно
let parent = el.closest('.promo');
let copyText = parent.querySelector('.promo-text')
if (localStorage.getItem('alertClosed') !== 'ok') {
alert()
localStorage.setItem('alertClosed', 'ok')
}