我想要定製一個插件,呈現與以下功能的Tumblr文章的圖像。jquery - 如果父母有兩個或更多的孩子創建ul其他不要創建ul
到目前爲止,我只設法將類.photoset添加到照片文章的ul中,如果有2個或更多圖像。
function getImages(post) {
// console.log(post)
var html = [];
html.push("<ul class='tumblr_post_images'>")
$.each(post.photos, function (i, photo) {
html.push('<li class="photo"><img src=' + photo.alt_sizes[0].url + '></li>')
})
$('.post_photo ul').has('li:nth-child(n+2)').addClass("photoset");
html.push("</ul>")
return html.join("");
};
理想情況下,我希望只有在帖子中存在超過2張圖片的情況下才會呈現ul,這樣標記才幹淨。我已經嘗試了一些條件聲明,但我無法得到這個工作。任何幫助都感激不盡。
UPDATE 感謝T.J.克羅德斯的答案我設法找到解決我的問題。下面是工作代碼:
//Function to retrieve all the images from the post. This builds an array which is then returned as html list of images.
function getImages(post) {
var html = [];
// Get the HTML
if (post.photos.length === 1) {
$.each(post.photos, function (i, photo) {
html.push('<img src=' + photo.alt_sizes[0].url + '>')
})}
else {
// More than one
html.push("<ul class='photoset'>")
$.each(post.photos, function (i, photo) {
html.push('<li class="photo"><img src=' + photo.alt_sizes[0].url + '></li>')
});
html.push("</ul>");
}
return html.join("");
}
更新2 有一個錯誤在T.J. Crowders的原始答案。他修好了,現在他的答案奏效了! 謝謝!
+1編輯,Barmar。 –
Alexandros,很難分辨你真正想做什麼。你能更徹底地解釋一下嗎?你網頁上有多個地方可能會這樣做?因爲它對解決方案很重要。 –
'
- content
'不會使標記變得很髒,即使如此,無論項目的數量如何,它都具有O(1)(恆定)髒度。你試過'.children()。長度'嗎? – Trojan