2012-06-20 63 views
0

我想增加每個列表項的z-index遞增每個列表項

這是我試過到目前爲止:

var photos = $('ul'); 
    photos.each(function() { 

     var photos = $(this).children(); 
     var photosLen = photos.length; 
     if (photosLen > 1) { 
      photos.parent().addClass('album'); 
      var i = 0; 
      while (i < photosLen) { 

       $(this).children().css({ 
        'z-index': i 
       }); 
      } 
     } 

    }); 

我希望每個列表項將從z-index: 1;z-index: 3;,但它沒有這樣做。只需將數組的長度添加到每個列表項。

HTML:(代碼將只適用於第一個未排序列表)

<ul> 

    <li><img src="http://i.imgur.com/PuwwFs.jpg" alt=""></li> 
    <li><img src="http://i.imgur.com/cjAGks.jpg" alt=""></li> 
    <li><img src="http://i.imgur.com/zA4lCs.jpg" alt=""></li> 

    </ul> 
    <ul> 

     <li><img src="http://i.imgur.com/PuwwFs.jpg" alt=""></li> 


    </ul> 
+0

是不是'photos.parent()'與'$(this)'相同? –

+0

哈哈不,它不是......我需要更仔細地給我的變量命名...... – devs

+1

真的嗎?你不認爲'$(this).children()。parent()'與$(this)'相同嗎? :) –

回答

5

既然你已經使用jQuery的代碼可能是簡單地

if (photosLen > 1) { 
     photos.each(function(i) { 
      $(this).css('zIndex', i); 
     }) 
     .parent() 
     .addClass('album'); 
    } 

注意each()z-index的駝峯式語法屬性

0

忘記在代碼中增加i的值:

 while (i < photosLen) { 

      $(this).children().css({ 
       'z-index': i 
      }); 
      i++; 
     } 
相關問題