为什么我的新元素包含在数组中?

时间:2013-02-20 20:20:39

标签: jquery

为什么我的新元素包含在数组中?

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

当我尝试将其与appendChild一起使用时,我收到了一个dom异常8错误。

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

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

2 个答案:

答案 0 :(得分: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");

答案 1 :(得分:0)

您可以将元素附加到body,如下所示:

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

所以我没有看到你创建元素的方式存在真正的问题

修改

试试这个:

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