О каком data-атрибуте идёт речь:
const key = 'id';
const attr = `data-${key}`;
const attrSelector = `[${attr}]`;
Назначаем обработчик клика непосредственно ссылкам:
document.querySelectorAll(attrSelector).forEach(function(n) {
n.addEventListener('click', this);
}, function() {
document.querySelector(`#${this.dataset[key]}`).checked ^= 1;
});
Или, применяем делегирование:
document.addEventListener('click', ({ target: t }) =>
(t = t.closest(attrSelector)) &&
(t = document.getElementById(t.getAttribute(attr))) &&
(t.checked = !t.checked)
);