0

我对这些东西还很陌生,我遇到了一个小问题——我想做的是调整网页上所有图像的大小(更具体地说,是每个元素中带有 id #post 的图像)和把它们缩小一点

var currentWidth = $("#post img").width();
$("#post img").each(function () {
    $(this).css({'width': currentWidth / 1.5 + "px"});
});

问题是我认为它正在抓取第一张图像的宽度并将其用于所有图像,因此它们最终都与第一张缩小图像的尺寸相同。有什么办法可以解决这个问题,以便每个图像的宽度都被抓取并正确缩小?

4

1 回答 1

2

你是对的 - 你得到一个单一的宽度并在整个循环中使用它。您已经完成了一半,this在循环内使用。只需遵循以下步骤:

$("#post img").each(function () {
    var currentWidth = $(this).width();

    if (currentWidth > 900) {
      $(this).css({'width': currentWidth / 1.5 + "px"});
    }
});
于 2013-08-13T21:11:15.900 回答