You code should work
Fiddle Demo
$(document).ready(function () { $('#main_body').append("HelloClick"); $("#but").on("click", function () { //element is in DOM now as it added in previous statement alert("bla bla"); }); });