0

<a>一部の JSON データをループするときに、タグ内にタグをネストしようとして<li>いますが、そうではありません。

var ul = $('<ul/>');
$.each(data.headlines, function() {
var linkFromJson = "<a>" + this.headline + "</a>";
linkFromJson = $(linkFromJson).attr("href", this.links.web.href).attr("target", "_blank");
var listItem = document.createElement('li');
ul.append(listItem, linkFromJson);
});
// append this list to the document body
$('body').append(ul);

私が得たのは a<li></li>で、<a>タグが続きますが、ハイパーリンクが正しく表示されます。json をネストするコードを書き出すと、各タグ[object][Object]の項目をループした後に返されます。<li>

私は何を間違っていますか?

ありがとう!

編集: を使用.htmlして、ビルドされたリンクを の中に挿入し<li>、 を に追加し<li>ます<ul>:

var ul = $('<ul/>');
$.each(data.headlines, function() {
var linkFromJson = "<a>" + this.headline + "</a>";
linkFromJson = $(linkFromJson).attr("href", this.links.web.href).attr("target", "_blank");
var listItem = $('<li/>');
$(listItem).html(linkFromJson);
ul.append(listItem);
});
// append this list to the document body
$('body').append(ul);
},
error: function() {
// handle the error
}
4

1 に答える 1

1

に従って.append()ul.append(listItem, linkFromJson)すべてのコンテンツをul要素の末尾に順番に挿入します。指定されたコンテンツを互いにネストしません。

それを達成するには、最初に追加<a><li>、次に結果<li>を追加する必要があります<ul>

var listItem = document.createElement('li');
listItem.append(linkFromJson);
ul.append(listItem);
于 2013-01-23T22:08:23.613 に答える