为什么我的新元素被包裹在一个数组中?
$('<a>')
[<a></a>]
当我尝试使用它时,appendChild
我得到一个 dom 异常 8 错误。
编辑:这是一个例子。我的确切代码是
addendum = $("<a>", {href: download_url, text:"Download .nupkg file"})
badge = $(".nuget-badge")[0]
badge.appendChild(addendum)
为什么我的新元素被包裹在一个数组中?
$('<a>')
[<a></a>]
当我尝试使用它时,appendChild
我得到一个 dom 异常 8 错误。
编辑:这是一个例子。我的确切代码是
addendum = $("<a>", {href: download_url, text:"Download .nupkg file"})
badge = $(".nuget-badge")[0]
badge.appendChild(addendum)
所有 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");
您可以body
像这样附加一个元素:
$('body').append($('<a>',{text:"test", href:"#"}));
所以我认为你创建元素的方式没有真正的问题
编辑
试试这个:
var addendum = $("<a>", {href: download_url, text:"Download .nupkg file"});
$(".nuget-badge").append(addendum);