2010-07-12 59 views
1

我有10個左右的圖像從flickr進來。目前他們只是以沒有個人ID或類別名稱的圖像進入。給ID /類生成圖像

所以我必須:

<img src="images/01.jpg" width="300" height="273" /> 
<img src="images/01.jpg" width="300" height="273" /> 
<img src="images/01.jpg" width="300" height="273" /> 
<img src="images/01.jpg" width="300" height="273" /> 

...等等。我想要做的是:

<img id="image1" src="images/01.jpg" width="300" height="273" /> 
<img id="image2" src="images/01.jpg" width="300" height="273" /> 
<img id="image3" src="images/01.jpg" width="300" height="273" /> 
<img id="image4" src="images/01.jpg" width="300" height="273" /> 

但是因爲他們正在通過jQuery帶來的,而不是手動,我不知道該如何添加這些ID的,從而,對圖像。每個人都需要以不同的風格。

任何想法?

+1

歡迎來到SO,請不要忘記訪問http://stackoverflow.com/faq並接受正確答案.. :) – Reigel 2010-07-12 05:39:17

回答

5

使用AJAX的回調函數...

,如果你有這樣的事情,

$.getJSON("http://api.flickr.com/services/feeds/photos_public.gne?tags=cat&tagmode=any&format=json&jsoncallback=?", function (data) { 
    $.each(data.items, function (i, item) { 
     $("<img/>").attr({"src":item.media.m, 'id': 'images' + i}).appendTo("#images"); 
    }); 
}); 
2

您可以使用:

jqueryEl.attr("id", "someId"); 

或:

jqueryEl.addClass("newClass") 

其中jQueryEl是一個包裹元素。或者,如果你有一組圖片,你可能會發現attr的功能選項有幫助的:

jquerySet.attr("id", function(index) 
        { 
         return "image" + (index + 1); 
        }); 

這實際上類似於attr docs一個例子。

+0

+1好用的'attr'回調!你的參數名稱有點誤導,因爲它的索引不是'id',但仍然是一個很好的答案! – 2010-07-12 05:38:40

+0

@Doug,謝謝,我現在糾正了它。 – 2010-07-12 06:20:30

0

如果你想張貼獲取圖像的代碼,它可能會更好地整合那裏。但是,您也可以在添加圖像後添加此代碼。讓我們假裝的圖像添加到一個div的flickr的ID:

$("#flickr img").each(function (i, image){ 
    image.id = "image" + (i + 1); 
}); 

完蛋了!現在,每張圖片將依次爲image1,image2等,爲id