Page 1 of 1

Selector won't work with new inserted tag

Posted: Thu May 14, 2009 1:13 am
by cohq82
Is anyone aware of this problem? For example, the code below simply just inserts new P tag below the existing P's. When I move mouse over each of the P, I should see color change. Or when I click on new P, I should be able to trigger the P click event. That did not happen. Anyone knows how to fix this? This is just an example since I tried to do something similar. Thanks

Code: Select all

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
                    "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
  <script src="http://code.jquery.com/jquery-latest.js"></script>
  
  <script>
  $(document).ready(function(){
    $("p").click(function() {
        $("p").after("<p>Hello</p>");
    });
    
    $("p").hover(function() {
        $(this).css('color','red');
    },
    function() {
        $(this).css('color','black');
    });
  });
  </script>
  <style>p { background:yellow; }</style>
</head>
<body>
  <p>I would like to say: </p>
</body>
</html>
 

Re: Selector won't work with new inserted tag

Posted: Sat May 16, 2009 7:18 am
by kaszu
You must use .live function to bind to P which aren't in the DOM yet.

Re: Selector won't work with new inserted tag

Posted: Sun May 17, 2009 2:37 am
by cohq82
Thanks