我正在尝试将ul
元素中所有前面的子元素的高度设置为与“active”元素具有相同的类名。
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>
所以我需要通过课程'item-left'然后将高度关闭'item-right'来获得以前孩子的身高。
jQuery示例:
$('.item-left').each( function(){
$(this).prevAll().outerHeight();
});
我还制作了一个显示类似于我的问题的JSFiddle,但问题是它会与li
元素中的图像一起使用,因此高度会有所不同。
如果有任何不清楚的地方,请告诉我。
实施例:
最后一个item-left
应该只获得具有相同类名的每个前一个孩子的组合高度,并且item-right
答案 0 :(得分: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)
}
)