If you try to do something with the elements that are dynamically added to DOM using the jQuery click() method it will not work, because it bind the click event only to the elements that exist at the time of binding. To bind the click event to all existing and future elements, use the jQuery on() method. Check out the following example.
Copy Code Below
<html lang="en"> <head> <meta charset="utf-8"> <title>jQuery Bind onclick Event to Dynamically added Elements</title> <script type="text/javascript" src="http://code.jquery.com/jquery.js"></script> <script type="text/javascript"> $(document).ready(function(){ $("button").click(function(){ $("ol").append("<li>list item <a href='javascript:void(0);' class='remove'>×</a></li>"); }); $(document).on("click", "a.remove" , function() { $(this).parent().remove(); }); }); </script> </head> <body> <button>Add new list item</button> <p>Click the above button to dynamically add new list items. You can remove it later.</p> <ol> <li>list item</li> <li>list item</li> <li>list item</li> </ol> </body> </html>
No comments:
Post a Comment