Vivek Dragon
Vivek Dragon

Reputation: 2248

Adding a div dynamically using append()

Kindly notify me I am explaining it well or not. I'm using .append() to repeat a div inside a page.

HTML

 <html>
 <head>
 <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js"></script>
 <script>
  $(document).ready(function(){
    $("#num").click(function () {
      $('#form').append("<div class='Box'>I'm new box by prepend</div>");   
    });
  });
  </script>
  </head>

  <body>
    <div id="form">
       Hai Add Another by clicking the button
    </div>
    <button id="num">Click Me</button>
  /body>
 </html>

This works good when I add a div repeatedly. But I like to call it externally like the below code.

 <html>
  <head>
   <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js"></script>
   <script>
    $(document).ready(function(){
      $("#num").click(function () {
        $('#form').append($('#Box'));   
      });
    });
  </script>
  </head>

  <body>
  <div id="form">
  Hai Add Another by clicking the button
  </div>
  <div class='Box'>I'm new box by prepend</div>
  <button id="num">Click Me</button>
 /body>
 </html>

Why is this not working?

Upvotes: 1

Views: 9683

Answers (3)

bookcasey
bookcasey

Reputation: 40433

Try using clone():

 <html>
 <head>
 <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js"></script>
 <script>
  $(document).ready(function(){
  $("#num").click(function () {
  $(".Box:first").clone().appendTo("#form"); 
});
});
  </script>
  </head>

  <body>
  <div id="form">
  Hai Add Another by clicking the button
  </div>
  <div class='Box'>I'm new box by prepend</div>
  <button id="num">Click Me</button>
 </body>
 </html>​

You have to create a new element before adding it.

Demo

Upvotes: 3

Pragnesh Chauhan
Pragnesh Chauhan

Reputation: 8476

try this

 $(document).ready(function(){
    $("#num").click(function () {
       $(".Box").first().clone().appendTo("#form"); 
    });
 });

Upvotes: 3

Rahul Tripathi
Rahul Tripathi

Reputation: 172398

Try something like this:-

 $("#parent_div").append('<div id="created_div"></div>');

Upvotes: 1

Related Questions