2012-03-18 100 views
0

我的HTML是這樣的:JQuery的,可見的div選擇兒童

<div id="paj_container" class="container"> 
    <div class="three_paj_els"> 

    <div id="1" class="a_paj_element"> 
     <input type="hidden" class="listed_hidden_img" value="http://google.com/whatever.png" /> 
    </div>        

    <div id="2" class="a_paj_element"> 
     <input type="hidden" class="listed_hidden_img" value="http://google.com/whatever2.png" /> 
    </div> 

    <div id="3" class="a_paj_element"> 
     <input type="hidden" class="listed_hidden_img" value="http://google.com/whatever3.png" /> 
    </div>      
    </div> 
</div> 

要饒你通過更多的代碼翻轉,假裝每個.a_paj_element的div的是我的JQuery分頁一個單獨的頁面。

爲了減少頁面加載時間,我的計劃是將分頁上的圖像轉換爲那些隱藏的輸入類型的值。當頁面可見時,JQuery將獲取這些值並使用replace with函數將它們替換爲標籤,以便在您翻閱分頁頁面時加載圖像,而不是一次全部加載。這是我一直在努力做實現這一目標:

var currentPage = $('.three_paj_els:visible'); 
currentPage.children('.listed_hidden_img').each(function() { 
    var the_image_SRC = $(this).val(); 
    $('.listed_hidden_img').replaceWith('<img src="'+the_image_SRC+'" />'); 
}); 

基本上我試圖讓僅在當前可見.three_paj_els

我和之前做這個替換.listed_hidden_​​imgs燈箱/模式來減少高分辨率圖片的頁面上的加載時間,因此我認爲這也適用於這個應用程序。

非常感謝您閱讀這篇文章,並感謝任何能幫助我糾正錯誤的人。

-Mike

+1

這裏有一個錯誤:var the_image_SRC =(this).val(); ...(this)=> $(this)前應該有一個美元符號。 – 2012-03-18 11:51:15

+1

我試圖得到listed_hidden_​​img的值,如果這是無效的,我應該試試這個,而不是$(this).attr('value');? – user1053263 2012-03-18 11:52:39

+0

OHH一個美元符號,對不起我沒有看到你的評論的那一部分 – user1053263 2012-03-18 11:53:08

回答

1

變種the_image_SRC = $(本).attr( 'SRC');

+0

嗯它沒有工作,我把它扔到小提琴,如果你想玩弄它http:///jsfiddle.net/Utr6v/37 – user1053263 2012-03-18 12:31:17

+0

你正在自己替換圖片嗎? – Eric 2012-03-18 12:35:14

+0

是的,它將隱藏的輸入值粘貼到新的img中標記並使用圖像標記關閉隱藏的輸入。 – user1053263 2012-03-18 12:41:46