抓取图像高度并将其设置为其容器jquery

时间:2011-12-06 21:40:07

标签: javascript jquery html css

我的帖子有一个div,可能包含不同大小的图片,我需要单独设置容器的宽度。我该怎么做?

<div class="panel">
<img id="screeny" src="http://localhost/531q3n.jpg"/>
</div>

这是我目前的尝试,但出了点问题:

var img = document.getElementById('screeny'); 
//or however you get a handle to the IMG
var width = img.clientWidth;
var height = img.clientHeight;
$('.panel').css("width",width+"px");

2 个答案:

答案 0 :(得分:1)

必须先加载图像,然后才能访问它的大小,如下所示:

var img = $('#screeny'); 
img.load(function() {
    var width = img.width();
    var height = img.height();
    $('.panel').css("width", width);
});

编辑:对于多个图像,如果它们都在类“面板”的div中:

$("img", ".panel").each(function() {
    $(this).load(function() {
        var width = $(this).width();
        var height = $(this).height();
        $(this).parent().css("width", width);
    });
});

答案 1 :(得分:0)

$('#screeny').load(function() {
  $(this).parent().css('width', $(this).width());
});

附加将在图像加载完成后执行的处理程序。这会将父(容器)设置为图像的宽度。