2013-01-23 58 views
0

通過一些JSON數據循環時,我想我<li>標籤內嵌套的標籤<a>,但它不是:獲取數據是關閉

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); 

我get是<li></li><a>標籤,但它正確顯示超鏈接。當我將代碼寫出來嵌套JSON時,它在循環遍歷每個<li>標記的項後給出[object][Object]

我在做什麼錯?

謝謝!

編輯:我想通了,使用.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 
} 

回答

1

.append()ul.append(listItem, linkFromJson)插入的所有內容到底順序的ul元素。它不會將給定的內容嵌套在對方內。

爲了實現這一目標,首先必須追加<a><li>然後追加所得到的<li><ul>

var listItem = document.createElement('li'); 
listItem.append(linkFromJson); 
ul.append(listItem); 
+0

謝謝奧拉夫。我用你的答案作爲解決方案的基礎。 – tahdhaze09