Why isn’t jQuery being applied to dynamically created elements?
Here is jsFiddle: http://jsfiddle.net/Y5RuC/19/
When you click on regular cell it changes the border.
When you click on generated cells nothing happens.
Why? And what do I need to change to get generated cells working?
-
Create a board:
function generateBoard() { var generatedDiv = "<div class='board'>"; /* ... generatedDiv += "<div class='cell'> </div>"; ... */ generatedDiv += "</div>" return generatedDiv } $("#generate").click(function() { generatedDiv = generateBoard(); $("#board").after(generatedDiv); }); -
Append div:
generatedDiv = generateBoard(); $("#menu").after(generatedDiv); -
Change border on click:
$(".cell").click(function() { console.log(this); $(this).css("border", "3px solid black"); });
It doesn’t work for automatically generated content. In pure HTML:
<div class="cell"></div>
Just works. In generated board – just not 🙁 Once again here is jFiddle: http://jsfiddle.net/Y5RuC/19/
How to make it for $(".cell").click to work fine in generated board?
onversion:Working JSFiddle
Jquery on docs