如何设置标记所包含图像的宽度和高度

时间:2015-07-13 08:24:10

标签: jquery html css

我有一个块div.project列表,每个块包含不同宽度和高度的图像。我需要将图像的宽度和高度设置为div.project

 $('.project').find('img').each(function() {
        var width = $('img').width();
        var height = $('img').height();
       $('.project').css('width',width);
        $('.project').css('height',height);
      });

问题是每个div.project的第一个div.project的jquery设置宽度和高度。

1 个答案:

答案 0 :(得分:1)

请参阅此示例:http://jsfiddle.net/kevalbhatt18/44t0aw9d/

  

注意:您必须在每个循环中使用此关键字,因为如果您指向   .project类然后最后一个宽度和高度的图像将应用于.project   类

$('.project').find('img').each(function () {
     console.log($(this))
     var width = $(this).width();
     var height = $(this).height();
     console.log($($(this).parentElement))
     if ($(this)[0].parentElement) {
         $($(this)[0].parentElement).css('width', width);
         $($(this)[0].parentElement).css('height', height);

     }
 });

并且 parentElement 的内容您也可以使用.parent()

 $('.project').find('img').each(function () {
     var width = $(this).width();
     var height = $(this).height();
     $(this).parent().css('width', width);
     $(this).parent().css('height', height);

 });

修改

这是另一个解决方案。 http://jsfiddle.net/kevalbhatt18/44t0aw9d/2/ ,我认为这个解决方案很好,因为从paren将会有很强的 img 标签,所以它比两个解决方案更有效。

 $('.project').each(function () {
     $img = $(this).find('img')
     var width = $img.width();
     var height = $img.height();
     $(this).css('width', width);
     $(this).css('height', height);

 });