-2

新しい要素が配列でラップされているのはなぜですか?

$('<a>')
[<a>​&lt;/a>​]

で使用しようとするとappendChild、dom 例外 8 エラーが発生します。

編集:それは例でした。私の正確なコードは

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

2 に答える 2

7

すべての 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");
于 2013-02-20T20:22:27.040 に答える
0

body次のように要素を追加できます。

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

したがって、要素の作成方法に実際の問題は見られません

編集

これを試して:

var addendum = $("<a>", {href: download_url, text:"Download .nupkg file"});
$(".nuget-badge").append(addendum);
于 2013-02-20T20:24:15.353 に答える