jQuery Adding DOM Elements











up vote
0
down vote

favorite
1












This may be a simple answer, but I'm trying to add a dom-created element (i.e. document.createElement(...)) to a jQuery Selector.



jQuery has a great assortment of functions for adding html




  • .html(htmlString)

  • .append(htmlString)

  • .prepend(htmlString)


But what i want to do is add a dom OBJECT



var myFancyDiv = document.createElement("div");
myFancyDiv.setAttribute("id", "FancyDiv");

// This is the theoretical function im looking for.
$("#SomeOtherDiv").htmlDom(myFancyDiv);









share|improve this question


























    up vote
    0
    down vote

    favorite
    1












    This may be a simple answer, but I'm trying to add a dom-created element (i.e. document.createElement(...)) to a jQuery Selector.



    jQuery has a great assortment of functions for adding html




    • .html(htmlString)

    • .append(htmlString)

    • .prepend(htmlString)


    But what i want to do is add a dom OBJECT



    var myFancyDiv = document.createElement("div");
    myFancyDiv.setAttribute("id", "FancyDiv");

    // This is the theoretical function im looking for.
    $("#SomeOtherDiv").htmlDom(myFancyDiv);









    share|improve this question
























      up vote
      0
      down vote

      favorite
      1









      up vote
      0
      down vote

      favorite
      1






      1





      This may be a simple answer, but I'm trying to add a dom-created element (i.e. document.createElement(...)) to a jQuery Selector.



      jQuery has a great assortment of functions for adding html




      • .html(htmlString)

      • .append(htmlString)

      • .prepend(htmlString)


      But what i want to do is add a dom OBJECT



      var myFancyDiv = document.createElement("div");
      myFancyDiv.setAttribute("id", "FancyDiv");

      // This is the theoretical function im looking for.
      $("#SomeOtherDiv").htmlDom(myFancyDiv);









      share|improve this question













      This may be a simple answer, but I'm trying to add a dom-created element (i.e. document.createElement(...)) to a jQuery Selector.



      jQuery has a great assortment of functions for adding html




      • .html(htmlString)

      • .append(htmlString)

      • .prepend(htmlString)


      But what i want to do is add a dom OBJECT



      var myFancyDiv = document.createElement("div");
      myFancyDiv.setAttribute("id", "FancyDiv");

      // This is the theoretical function im looking for.
      $("#SomeOtherDiv").htmlDom(myFancyDiv);






      javascript jquery dom






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked Apr 21 '10 at 16:54









      Aren

      40.3k75087




      40.3k75087
























          5 Answers
          5






          active

          oldest

          votes

















          up vote
          3
          down vote



          accepted










          Try this:



          $("#SomeOtherDiv").append($(myFancyDiv)); 


          Wrapping the DOM element in $(...), I'd expect you could add it with any of the jQuery DOM manipulation functions that take a jQuery element collection.






          share|improve this answer

















          • 2




            you don't need to wrap the DOM object with jQuery inside append. could just do $("#SomeOtherDiv").append(myFancyDiv)
            – Anurag
            Apr 21 '10 at 22:00




















          up vote
          1
          down vote













          This should do it !



            $("#SomeOtherDiv").append('<div id="FancyDiv"></div>')); 





          share|improve this answer




























            up vote
            1
            down vote













            You could make things simpler and faster by cutting out jQuery entirely for something this simple:



            document.getElementById("SomeOtherDiv").appendChild(fancyDiv);





            share|improve this answer




























              up vote
              0
              down vote













              This will work in jQuery 1.4



              $("<div/>",{
              id: 'FancyDiv'
              }).appendTo("#SomeOtherDiv");


              http://api.jquery.com/jQuery/#jQuery2






              share|improve this answer




























                up vote
                0
                down vote













                You can try this way:



                $("<div/>", {

                // PROPERTIES HERE

                text: "Click me",

                id: "example",

                "class": "myDiv", // ('class' is still better in quotes)

                css: {
                color: "red",
                fontSize: "3em",
                cursor: "pointer"
                },

                on: {
                mouseenter: function() {
                console.log("PLEASE... "+ $(this).text());
                },
                click: function() {
                console.log("Hy! My ID is: "+ this.id);
                }
                },

                append: "<i>!!</i>",

                appendTo: "body" // Finally, append to any selector

                });





                share|improve this answer





















                  Your Answer






                  StackExchange.ifUsing("editor", function () {
                  StackExchange.using("externalEditor", function () {
                  StackExchange.using("snippets", function () {
                  StackExchange.snippets.init();
                  });
                  });
                  }, "code-snippets");

                  StackExchange.ready(function() {
                  var channelOptions = {
                  tags: "".split(" "),
                  id: "1"
                  };
                  initTagRenderer("".split(" "), "".split(" "), channelOptions);

                  StackExchange.using("externalEditor", function() {
                  // Have to fire editor after snippets, if snippets enabled
                  if (StackExchange.settings.snippets.snippetsEnabled) {
                  StackExchange.using("snippets", function() {
                  createEditor();
                  });
                  }
                  else {
                  createEditor();
                  }
                  });

                  function createEditor() {
                  StackExchange.prepareEditor({
                  heartbeatType: 'answer',
                  convertImagesToLinks: true,
                  noModals: true,
                  showLowRepImageUploadWarning: true,
                  reputationToPostImages: 10,
                  bindNavPrevention: true,
                  postfix: "",
                  imageUploader: {
                  brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
                  contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
                  allowUrls: true
                  },
                  onDemand: true,
                  discardSelector: ".discard-answer"
                  ,immediatelyShowMarkdownHelp:true
                  });


                  }
                  });














                  draft saved

                  draft discarded


















                  StackExchange.ready(
                  function () {
                  StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f2684906%2fjquery-adding-dom-elements%23new-answer', 'question_page');
                  }
                  );

                  Post as a guest















                  Required, but never shown

























                  5 Answers
                  5






                  active

                  oldest

                  votes








                  5 Answers
                  5






                  active

                  oldest

                  votes









                  active

                  oldest

                  votes






                  active

                  oldest

                  votes








                  up vote
                  3
                  down vote



                  accepted










                  Try this:



                  $("#SomeOtherDiv").append($(myFancyDiv)); 


                  Wrapping the DOM element in $(...), I'd expect you could add it with any of the jQuery DOM manipulation functions that take a jQuery element collection.






                  share|improve this answer

















                  • 2




                    you don't need to wrap the DOM object with jQuery inside append. could just do $("#SomeOtherDiv").append(myFancyDiv)
                    – Anurag
                    Apr 21 '10 at 22:00

















                  up vote
                  3
                  down vote



                  accepted










                  Try this:



                  $("#SomeOtherDiv").append($(myFancyDiv)); 


                  Wrapping the DOM element in $(...), I'd expect you could add it with any of the jQuery DOM manipulation functions that take a jQuery element collection.






                  share|improve this answer

















                  • 2




                    you don't need to wrap the DOM object with jQuery inside append. could just do $("#SomeOtherDiv").append(myFancyDiv)
                    – Anurag
                    Apr 21 '10 at 22:00















                  up vote
                  3
                  down vote



                  accepted







                  up vote
                  3
                  down vote



                  accepted






                  Try this:



                  $("#SomeOtherDiv").append($(myFancyDiv)); 


                  Wrapping the DOM element in $(...), I'd expect you could add it with any of the jQuery DOM manipulation functions that take a jQuery element collection.






                  share|improve this answer












                  Try this:



                  $("#SomeOtherDiv").append($(myFancyDiv)); 


                  Wrapping the DOM element in $(...), I'd expect you could add it with any of the jQuery DOM manipulation functions that take a jQuery element collection.







                  share|improve this answer












                  share|improve this answer



                  share|improve this answer










                  answered Apr 21 '10 at 16:55









                  Frank Schwieterman

                  19.5k1277115




                  19.5k1277115








                  • 2




                    you don't need to wrap the DOM object with jQuery inside append. could just do $("#SomeOtherDiv").append(myFancyDiv)
                    – Anurag
                    Apr 21 '10 at 22:00
















                  • 2




                    you don't need to wrap the DOM object with jQuery inside append. could just do $("#SomeOtherDiv").append(myFancyDiv)
                    – Anurag
                    Apr 21 '10 at 22:00










                  2




                  2




                  you don't need to wrap the DOM object with jQuery inside append. could just do $("#SomeOtherDiv").append(myFancyDiv)
                  – Anurag
                  Apr 21 '10 at 22:00






                  you don't need to wrap the DOM object with jQuery inside append. could just do $("#SomeOtherDiv").append(myFancyDiv)
                  – Anurag
                  Apr 21 '10 at 22:00














                  up vote
                  1
                  down vote













                  This should do it !



                    $("#SomeOtherDiv").append('<div id="FancyDiv"></div>')); 





                  share|improve this answer

























                    up vote
                    1
                    down vote













                    This should do it !



                      $("#SomeOtherDiv").append('<div id="FancyDiv"></div>')); 





                    share|improve this answer























                      up vote
                      1
                      down vote










                      up vote
                      1
                      down vote









                      This should do it !



                        $("#SomeOtherDiv").append('<div id="FancyDiv"></div>')); 





                      share|improve this answer












                      This should do it !



                        $("#SomeOtherDiv").append('<div id="FancyDiv"></div>')); 






                      share|improve this answer












                      share|improve this answer



                      share|improve this answer










                      answered Apr 21 '10 at 16:59









                      mcgrailm

                      13k2066122




                      13k2066122






















                          up vote
                          1
                          down vote













                          You could make things simpler and faster by cutting out jQuery entirely for something this simple:



                          document.getElementById("SomeOtherDiv").appendChild(fancyDiv);





                          share|improve this answer

























                            up vote
                            1
                            down vote













                            You could make things simpler and faster by cutting out jQuery entirely for something this simple:



                            document.getElementById("SomeOtherDiv").appendChild(fancyDiv);





                            share|improve this answer























                              up vote
                              1
                              down vote










                              up vote
                              1
                              down vote









                              You could make things simpler and faster by cutting out jQuery entirely for something this simple:



                              document.getElementById("SomeOtherDiv").appendChild(fancyDiv);





                              share|improve this answer












                              You could make things simpler and faster by cutting out jQuery entirely for something this simple:



                              document.getElementById("SomeOtherDiv").appendChild(fancyDiv);






                              share|improve this answer












                              share|improve this answer



                              share|improve this answer










                              answered Apr 21 '10 at 23:19









                              Tim Down

                              247k56373460




                              247k56373460






















                                  up vote
                                  0
                                  down vote













                                  This will work in jQuery 1.4



                                  $("<div/>",{
                                  id: 'FancyDiv'
                                  }).appendTo("#SomeOtherDiv");


                                  http://api.jquery.com/jQuery/#jQuery2






                                  share|improve this answer

























                                    up vote
                                    0
                                    down vote













                                    This will work in jQuery 1.4



                                    $("<div/>",{
                                    id: 'FancyDiv'
                                    }).appendTo("#SomeOtherDiv");


                                    http://api.jquery.com/jQuery/#jQuery2






                                    share|improve this answer























                                      up vote
                                      0
                                      down vote










                                      up vote
                                      0
                                      down vote









                                      This will work in jQuery 1.4



                                      $("<div/>",{
                                      id: 'FancyDiv'
                                      }).appendTo("#SomeOtherDiv");


                                      http://api.jquery.com/jQuery/#jQuery2






                                      share|improve this answer












                                      This will work in jQuery 1.4



                                      $("<div/>",{
                                      id: 'FancyDiv'
                                      }).appendTo("#SomeOtherDiv");


                                      http://api.jquery.com/jQuery/#jQuery2







                                      share|improve this answer












                                      share|improve this answer



                                      share|improve this answer










                                      answered Apr 21 '10 at 18:22









                                      RedWolves

                                      7,499124265




                                      7,499124265






















                                          up vote
                                          0
                                          down vote













                                          You can try this way:



                                          $("<div/>", {

                                          // PROPERTIES HERE

                                          text: "Click me",

                                          id: "example",

                                          "class": "myDiv", // ('class' is still better in quotes)

                                          css: {
                                          color: "red",
                                          fontSize: "3em",
                                          cursor: "pointer"
                                          },

                                          on: {
                                          mouseenter: function() {
                                          console.log("PLEASE... "+ $(this).text());
                                          },
                                          click: function() {
                                          console.log("Hy! My ID is: "+ this.id);
                                          }
                                          },

                                          append: "<i>!!</i>",

                                          appendTo: "body" // Finally, append to any selector

                                          });





                                          share|improve this answer

























                                            up vote
                                            0
                                            down vote













                                            You can try this way:



                                            $("<div/>", {

                                            // PROPERTIES HERE

                                            text: "Click me",

                                            id: "example",

                                            "class": "myDiv", // ('class' is still better in quotes)

                                            css: {
                                            color: "red",
                                            fontSize: "3em",
                                            cursor: "pointer"
                                            },

                                            on: {
                                            mouseenter: function() {
                                            console.log("PLEASE... "+ $(this).text());
                                            },
                                            click: function() {
                                            console.log("Hy! My ID is: "+ this.id);
                                            }
                                            },

                                            append: "<i>!!</i>",

                                            appendTo: "body" // Finally, append to any selector

                                            });





                                            share|improve this answer























                                              up vote
                                              0
                                              down vote










                                              up vote
                                              0
                                              down vote









                                              You can try this way:



                                              $("<div/>", {

                                              // PROPERTIES HERE

                                              text: "Click me",

                                              id: "example",

                                              "class": "myDiv", // ('class' is still better in quotes)

                                              css: {
                                              color: "red",
                                              fontSize: "3em",
                                              cursor: "pointer"
                                              },

                                              on: {
                                              mouseenter: function() {
                                              console.log("PLEASE... "+ $(this).text());
                                              },
                                              click: function() {
                                              console.log("Hy! My ID is: "+ this.id);
                                              }
                                              },

                                              append: "<i>!!</i>",

                                              appendTo: "body" // Finally, append to any selector

                                              });





                                              share|improve this answer












                                              You can try this way:



                                              $("<div/>", {

                                              // PROPERTIES HERE

                                              text: "Click me",

                                              id: "example",

                                              "class": "myDiv", // ('class' is still better in quotes)

                                              css: {
                                              color: "red",
                                              fontSize: "3em",
                                              cursor: "pointer"
                                              },

                                              on: {
                                              mouseenter: function() {
                                              console.log("PLEASE... "+ $(this).text());
                                              },
                                              click: function() {
                                              console.log("Hy! My ID is: "+ this.id);
                                              }
                                              },

                                              append: "<i>!!</i>",

                                              appendTo: "body" // Finally, append to any selector

                                              });






                                              share|improve this answer












                                              share|improve this answer



                                              share|improve this answer










                                              answered Nov 11 at 16:49









                                              Re_p1ay

                                              67




                                              67






























                                                  draft saved

                                                  draft discarded




















































                                                  Thanks for contributing an answer to Stack Overflow!


                                                  • Please be sure to answer the question. Provide details and share your research!

                                                  But avoid



                                                  • Asking for help, clarification, or responding to other answers.

                                                  • Making statements based on opinion; back them up with references or personal experience.


                                                  To learn more, see our tips on writing great answers.





                                                  Some of your past answers have not been well-received, and you're in danger of being blocked from answering.


                                                  Please pay close attention to the following guidance:


                                                  • Please be sure to answer the question. Provide details and share your research!

                                                  But avoid



                                                  • Asking for help, clarification, or responding to other answers.

                                                  • Making statements based on opinion; back them up with references or personal experience.


                                                  To learn more, see our tips on writing great answers.




                                                  draft saved


                                                  draft discarded














                                                  StackExchange.ready(
                                                  function () {
                                                  StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f2684906%2fjquery-adding-dom-elements%23new-answer', 'question_page');
                                                  }
                                                  );

                                                  Post as a guest















                                                  Required, but never shown





















































                                                  Required, but never shown














                                                  Required, but never shown












                                                  Required, but never shown







                                                  Required, but never shown

































                                                  Required, but never shown














                                                  Required, but never shown












                                                  Required, but never shown







                                                  Required, but never shown







                                                  Popular posts from this blog

                                                  The Sandy Post

                                                  Danny Elfman

                                                  Pages that link to "Head v. Amoskeag Manufacturing Co."