I would like to create dynamic link elements. I have created a function that creates an a element and attaches an onclick function to it:
for (var i = 7; i > 0; i--) {
var date = moment().add(-i, 'days')
var dateFormatted = date.format('YYYY-MM-DD');
// Magic happens here
divDates.appendChild(createLink('<a href="#">' + dateFormatted + '</a>',
function () { alert(dateFormatted); }));
}
function createLink(s, onClick) {
var a = document.createElement('a');
if (s.indexOf('target="_blank"') >= 0) {
a.target = '_blank';
}
var href = s.match(/href="([^"]*)/)[1];
var text = s.match(/>([^<]*)/)[1];
a.href = href;
a.title = text;
a.onclick = onClick;
a.appendChild(document.createTextNode(text));
return a;
}
However the alert(dateFormatted)
shows the same message, regardless of which link I click. How can I make them work independently?