jQuery添加DOM元素

时间:2010-04-21 16:54:27

标签: javascript jquery dom

这可能是一个简单的答案,但我正在尝试将dom创建的元素(即document.createElement(...))添加到jQuery Selector。

jQuery有很多用于添加html的功能

  • 的.html(htmlString)
  • .append(htmlString)
  • .prepend(htmlString)

但我想做的是添加一个dom OBJECT

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

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

5 个答案:

答案 0 :(得分:3)

试试这个:

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

在$(...)中包装DOM元素,我希望你可以在任何带有jQuery元素集合的jQuery DOM操作函数中添加它。

答案 1 :(得分:1)

应该这样做!

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

答案 2 :(得分:1)

你可以通过简单地删除jQuery来简化和加快操作:

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

答案 3 :(得分:0)

这适用于jQuery 1.4

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

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

答案 4 :(得分:0)

您可以尝试这种方式:

$("<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

});