2013-01-23 32 views
0

我在页面上有一个图像,我想设置等于父容器的高度。如果你拿这个页面为例,http://myrtlebeachgolfpackages.com/packages/,左边的主要图像,我想填充它们各自div的高度100%。通过jquery设置多个图像的高度?

所以我的想法是抓住父容器的高度,并设置图像的高度等于该父容器。

$(".packagepic").height($('this').parent().parent().height()); 

的布局基本

<div> 
    <a> 
     <image class="packagepic"> 
    </a> 
</div> 

这就是为什么我抓住parent().parent()

但是,当然,你可以看到这是行不通的。另请注意,我不能将所有div的高度设置为一个高度,或将所有图像设置为一定高度,因为它们各自的div的高度根据包的大小而变化。

对此有何看法?

回答

1

您可以使用该功能http://api.jquery.com/height/

$(".packagepic").height(function() { 
    return $(this).parent().parent().height(); 
}); 
+0

我给你的奖金,因为你首先回答。 :) 谢谢!我不认为我需要把它变成一个功能。 虽然有点奇怪,但有时候会发生这种情况,而且时间不对! (无论如何,在Chrome中)如果你刷新页面20次,你会看到它有时会起作用,有时它不会......多么奇怪,对吧? – PaulHanak

+0

@PaulHanak这是奇怪的..但没有函数'$(this)'不是指当前元素..这不会按你所希望的那样工作。通过使用回调函数'this'引用每个特定元素,因此每个.packagepic的高度将取决于您在函数中返回的内容 –

1
$(".packagepic").css('height', function() { 
    return $(this).parent().parent().height(); 
}); 

您也可以将宽度设置为auto,以保持宽高比。

相关问题