Why does this function get fired without having clicked on the specified button? I had a look at a few similar problems but none deal with this code structure (might be obvi
This code executes your function hideId("main")
you should pass just the callback's name:
document.getElementById("main_btn").addEventListener("click", hideId);
function hideId(event) {
var id = event.target.srcElement.id; // get the id of the clicked element
document.getElementById(data).style.display = "none";
console.log("hidden element #"+data);
}