var hideables = document.getElementsByClassName('hideable'); var controlStamp = document.getElementById('showhidecontrol').cloneNode(true); controlStamp.removeAttribute('id');/* Let's not have multiple elements with the same id, mmkay? */ for (var i = 0; i < hideables.length; i++) { var hideControl = controlStamp.cloneNode(true); hideControl.addEventListener('click', function () { hideables[i].classList.toggle('hidden'); }); hideables.parentNode.insertBefore(hideControl, hideables[i]); } /* With a NodeList.forEach, this code becomes less ugly. */
var hideables = document.getElementsByClassName('hideable'); /* Let's not have multiple elements with the same id, mmkay? */
var controlStamp = document.getElementById('showhidecontrol').cloneNode(true);
controlStamp.removeAttribute('id');
for (var i = 0; i < hideables.length; i++) {
var hideControl = controlStamp.cloneNode(true);
hideControl.addEventListener('click', function () { hideables[i].classList.toggle('hidden'); });
hideables.parentNode.insertBefore(hideControl, hideables[i]);
}
/* With a NodeList.forEach, this code becomes less ugly. */