【问题标题】:How to use width() to change the width of an image?如何使用 width() 改变图像的宽度?
【发布时间】:2013-01-08 15:36:42
【问题描述】:

我环顾了 SO 和互联网,但无法找到明确的答案。这是一个新手 jQuery 问题。 :)

我如何使用 .width() 来获取 div 的宽度,比如#imgwrap,并在 img src 中输出该宽度...我正在使用 Automattic 的 Jetpack 来动态调整图像大小。

谢谢!

<img src="http://i2.wp.com/google.com/intl/en_ALL/images/logos/images_logo_lg.gif?resize=[widthgoeshere],205" />

【问题讨论】:

    标签: jquery width


    【解决方案1】:

    jQuery 中的大多数 getter 都有一个配对的 setter。两者的区别在于你是否提供论据。在宽度的情况下,如果你想设置它,你可以提供一个宽度参数

     var divWidth = $('#myDivID').width();
     $('#imageID').width(divWidth);
    

    编辑 好的,在评论之后,您只需设置 src 属性即可。 您可以使用attr(attributeName,value) 方法设置任何属性

    在您的情况下,attributeName 将是 'src',而 value 是来自以下示例的 ùrl`,类似于

     var divWidth = $('#myDivID').width(),
         url = "http://i2.wp.com/google.com/intl/en_ALL/images/logos/images_logo_lg.gif?resize=" + divWidth + ",205";
     $('#imageID').attr('src', url);
    

    【讨论】:

    • var divWidth 输出到实际 src 以便可以在服务器上完成重新调整大小的最佳方式是什么?谢谢!
    【解决方案2】:
    jQuery("img").attr("src","http://i2.wp.com/google.com/intl/en_ALL/images/logos/images_logo_lg.gif?resize="+jQuery("#imgwrap").width()+",205");
    

    【讨论】:

    • 让你的语法在屏幕上显示的最佳方式是什么?
    【解决方案3】:
    var divWidth = $('#myDivID').width();
    $('#imageID').css('width',divWidth);
    

    应该工作

    【讨论】: