简体   繁体   中英

jQuery Adding DOM Elements

This may be a simple answer, but I'm trying to add a dom-created element (ie 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); 

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.

这应该做的!

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

通过完全切掉jQuery,可以使事情变得更简单,更快捷:

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

This will work in jQuery 1.4

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

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

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

}); 

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM