2013-04-11 104 views
4

我想使用jquery遍歷一組庫中的大圖像,然後使用ajax將它們加載到隱藏的div中以製作這些相同圖像的彈出式索引。基本上它是一個翻頁書,需要一個頁面索引,我想要一個更好的方式來寫出索引,而不是爲每個圖像編碼。使用jquery ajax將圖像加載到隱藏的div

$.ajax({ 
    url: "index.html", 
    dataType: 'html' 
}).done(function(html) { 

var div = $('a.book img', $(html)); 

$("#test").append($('<ul>') 
.append($('<li class="toc">') 
.append($('<a>').attr('href','#') 
.append($(div).addClass('border')) 
) 
) 
); 
}); 

我仍然是一個新手編碼器,我需要一些方向來讓它工作。此代碼將輸出:。

<div id="test"> 
<ul> 
<li class="toc"> 
<a href="#"> 
<img class="border" src="test.jpg" alt="Test"> 
<img class="border" src="test2.jpg" alt="Test2"> 
<img class="border" src="test3.jpg" alt="Test3"> 

</a> 
</li> 
</ul> 

基本上我得到的所有圖像,「A HREF下,而不是單獨我需要使用$()的每一個我的看法,但不知道如何用Ajax使用。 我道歉,如果這個問題是混亂

回答

1
$.ajax({ 
    url: "index.html", 
    dataType: 'html' 
}).done(function(html) { 
    var ul = $('<ul />'); 

    $(html).find('a.book img').each(function(i, img) { 
     var anchor = $('<a />', {href : '#'}), 
      li  = $('<li />', {'class' : 'toc'}); 
     li.append(anchor.append($(img).addClass('border'))).appendTo(ul); 
    }); 

    $('#test').append(ul); 
}); 

輸出:

<div id="test"> 
    <ul> 
     <li class="toc"> 
      <a href="#"> 
       <img class="border" src="test1.jpg"> 
      </a> 
     </li> 
     <li class="toc"> 
      <a href="#"> 
       <img class="border" src="test2.jpg"> 
      </a> 
     </li> 
     <li class="toc"> 
      <a href="#"> 
       <img class="border" src="test3.jpg"> 
      </a> 
     </li> 

    </ul> 
</div> 
+0

前,您的編輯我想我可以用'$( '#測試')追加(UL);' – Macsupport 2013-04-11 20:53:05

+0

。當然,或$('#test')。 append(ul.append(li));'也可以。 – adeneo 2013-04-11 21:00:45

+0

這有效,除了我需要一個href,而不是一個。我正在處理你的代碼,試圖解決這個問題,但還沒有解決。 – Macsupport 2013-04-11 21:35:10