2009-06-30 99 views
4

因此,如标题所示,我希望创建一个新的DOM元素(通过AJAX生成和检索HTML)。我有点工作,但它似乎隐藏起来,当我试图淡入淡出!jQuery:创建一个新的DOM元素并显示它

function AddContent(Content) { 
     div = document.createElement(Content) 
     div.appendTo($("#contentAreas")); 
     // $(div).fadeIn("slow"); 
     } 

它基本上插入物品到正确的位置,但没有显示它。当我试图淡入它时,它没有这样做。没有错误。

任何想法?

+0

你能说得更具描述性吗? *它如何破坏? “内容”是什么样的? “#contentAreas”是什么样的? – 2009-06-30 12:20:29

+1

此外,如果你这样做会发生什么: $(“#contentAreas”)。append(div); – 2009-06-30 12:22:07

回答

2

div需要是jQuery for appendTo才能工作。试试这个:

function AddContent(content) { 
    $(content).appendTo("#contentAreas").fadeIn("slow"); 
} 
5

应该是$(div).appendTo(...)。或者你可以改变如何将div创建为div = $(Content)

3

你不需要的createElement,jQuery的构造可以采用HTML作为参数(假设的内容是一个html字符串):

function AddContent(content) { 
    var div = $(content); 
    div.appendTo($("#contentAreas")); 
    $(div).fadeIn("slow"); 
} 
3

如何:

function AddContent(Content) { 
     div = $('<div>' + Content + '</div>');   
     div.appendTo($("#contentAreas")).fadeIn("slow"); 
    } 
2

appendTo需要一个选择器,因此它不需要是jquery对象,因为上面的所有其他示例都具有它。

function AddContent(content) { 
    $(content).appendTo("#contentAreas").fadeIn("slow"); 
}