2014-10-30 126 views
0

我試圖讓ul元素中的所有以前的孩子都擁有相同的班級名稱,而不是「active」元素。jQuery:以前的班級名稱兒童

HTML例如:

<ul class="board-album"> 
    <li class="album-item item-left"></li> 
    <li class="album-item item-right"></li> 
    <li class="album-item item-left"></li> 
    <li class="album-item item-right"></li> 
    <li class="album-item item-left"></li> 
    <li class="album-item item-right"></li> 
    <li class="album-item item-left"></li> 
    <li class="album-item item-right"></li> 
</ul> 

所以我需要用類來獲得高度關之前的兒童「項目左」,然後高度關「項目 - 右」。

jQuery的例子:

$('.item-left').each(function(){ 
    $(this).prevAll().outerHeight(); 
}); 

我也做了一個JSFiddle顯示類似我的問題的東西,但事情是,這將是與li元素內的圖像,這樣的高度會有所不同。

如果有什麼不清楚的地方,請告訴我。

例子: 最後item-left只能得到每一個以前兒童相同的類名和同爲item-right

+0

你的問題是什麼? – 2014-10-30 22:44:49

+0

問題是,它不能使以前的孩子獲得相同的類名。我需要的是一個解決方案,以獲得以前的兒童身高相同的類名,無論是'項目左'還是'項目右' – 2014-10-30 22:49:57

回答

1

組合的高度。如果我理解正確的話,你只是想知道在一個先前元素的高度的列,對嗎?我點擊時不知道這是不是你想要的。您可以將其粘貼到小提琴中,然後單擊其中一個項目。

請記住,它仍然會計算那些絕對定位的元素。

$('.album-item').click(function(){ 
     selector = '.'+this.className.match(/item-[A-z]*/)[0] 
     height = 0 
     $(this).prevAll(selector).each(function(){ 
      height+=$(this).outerHeight() 
      } 
     ) 
     alert(height) 
     } 
    ) 
+0

謝謝,正是我需要的!我不打算對此使用點擊功能,但我已經刪除了完整的點擊功能,因此它可以自行運行。再次,謝謝! :) – 2014-10-31 06:39:52