新しい要素が配列でラップされているのはなぜですか?
$('<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]
、1 つの要素だけが返されます。代わりに 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);