2013-02-20 69 views
-2

为什么我的新元素包装在一个数组中?为什么我的新元素包装在一个数组中?

$('<a>') 
[<a>​</a>​] 

当我尝试,我得到一个DOM例外8误差appendChild使用它。

编辑:这是一个例子。我的确切代码是

addendum = $("<a>", {href: download_url, text:"Download .nupkg file"}) 
badge = $(".nuget-badge")[0] 
badge.appendChild(addendum) 
+0

你能展示如何使用的appendChild那是行不通的? – Popnoodles 2013-02-20 20:23:50

+1

如果您使用jQuery,为什么不使用它的'.append()'方法? – nnnnnn 2013-02-20 20:24:10

回答

7

所有jQuery对象都是类似数组的对象。选择[0]集合中的第一个元素将只返回一个元素。如果您改为记录jQuery对象,它将显示为控制台中的数组。

请注意,jQuery有一个名为.append的内置方法,应该可以做你想做的事情。

$('<a>').append('<span>Hello World!</span>'); 

$('<a>').append(someotherelement); 

或您指定代码:

$(".nuget-badge").append($("<a>", {href: download_url, text:"Download .nupkg file"})) 

或(首选)

$("<a>", {href: download_url, text:"Download .nupkg file"}).appendTo(".nuget-badge"); 
0

你可以把一个元素body这样的:

$('body').append($('<a>',{text:"test", href:"#"})); 

所以我看不出的方式一个真正的问题,你所创建的元素

编辑

试试这个:

var addendum = $("<a>", {href: download_url, text:"Download .nupkg file"}); 
$(".nuget-badge").append(addendum); 
相关问题