0

img + p 要素を 1 つの div でラップしようとしていますが、何らかの理由ですべての要素が各 divで作成されています...何が間違っていますか?

  <script type="text/javascript">
     var url = "http://api.flickr.com/services/rest/?method=flickr.photos.search&api_key=**myAPI**&tags=**myTAG**&per_page=20 ";
     var src;
     $.getJSON(url + "&format=json&jsoncallback=?", function (data) {
         $.each(data.photos.photo, function (i, item) {
             src = "http://farm" + item.farm + ".static.flickr.com/" + item.server + "/" + item.id + "_" + item.secret + "_m.jpg";
             $("<div class='test'></div>").appendTo(".wrap");
             $("<img/>").attr("src", src).attr("class", "titleBox").appendTo(".test");
             $('<p>', { class: 'titleBox', text: item.title }).appendTo(".test");
         });
     });

私はそれがこのように見えるようにしたい:

<div class="wrap">
<div class="test">
<img src="#"/>
<p>some text</p>
</div>
 <div class="test">
  <img src="#"/>
  <p>some text</p>
</div>
<div class="test">
<img src="#"/>
<p>some text</p>
</div>
</div>
4

3 に答える 3

0

次のような id を div に追加します。

$.each(data.photos.photo, function (i, item) {
         src = "http://farm" + item.farm + ".static.flickr.com/" + item.server + "/" + item.id + "_" + item.secret + "_m.jpg";
         $("<div class='test' id='test" + i.toString() + "'></div>").appendTo(".wrap");
         $("<img/>").attr("src", src).attr("class", "titleBox").appendTo("#test" + i.toString());
         $('<p>', { class: 'titleBox', text: item.title }).appendTo("#test" + i.toString());
     });
于 2013-10-15T13:04:24.723 に答える