为什么我的新元素包含在数组中?
$('<a>')
[<a></a>]
当我尝试将其与appendChild
一起使用时,我收到了一个dom异常8错误。
编辑:这是一个例子。我的确切代码是
addendum = $("<a>", {href: download_url, text:"Download .nupkg file"})
badge = $(".nuget-badge")[0]
badge.appendChild(addendum)
答案 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);