我在容器中有图像,我已经在CSS中为这个图像设置了宽度和高度属性。但是我需要添加加载图片,并且它比容器中显示的实际图片更小,所以我需要在加载时更改图片的大小。但是,当我设置宽度和高度属性,图像显示在CSS中设置的大小。jQuery attr不起作用
$(img).attr("src", "loading.gif");
$(img).show();
$(img).attr("width", "100px");
$(img).attr("height", "100px");
我在容器中有图像,我已经在CSS中为这个图像设置了宽度和高度属性。但是我需要添加加载图片,并且它比容器中显示的实际图片更小,所以我需要在加载时更改图片的大小。但是,当我设置宽度和高度属性,图像显示在CSS中设置的大小。jQuery attr不起作用
$(img).attr("src", "loading.gif");
$(img).show();
$(img).attr("width", "100px");
$(img).attr("height", "100px");
你混淆属性与CSS:
$(img)
.attr("src", "loading.gif")
.css({width:100,height:100})
.show();
当然这个假设img
实际上代表图像:
var img = $("img.myImage");
如果没有图像,您需要创建一个,并将其附加到DOM:
$("<img>")
.attr("src", "loading.gif")
.css({width:100,height:100})
.appendTo("body");
不要使用attr("width")
等覆盖CSS,使用css()
:
$(img).attr('src', 'loading.gif').show().css({ width: 100, height: 100 });
您已检查源将是什么你做的时候是怎样的?
<img src="loading.gif" width="100px" height="100px" />
将不起作用。
<img src="loading.gif" width="100" height="100" />
会。所以删除px
单位=)
编辑:正如其他响应者指出,最好使用CSS。但是,他们俩都忘记了在css里你做的需要这个单位。
$(img).css({width: "100px"; height: "100px";});
哈 - 我显然没有我的单位/没有单位下来=) – 2010-01-16 18:26:11
看起来不错! +1 :) – 2010-01-16 18:29:38
也许尝试调整样式属性,而不是根据this question?
width
和height
属性的唯一单位是百分比(…%
)。 Values without that unit are always pixels.那么试试这个:
$(img).attr("width", "100");
$(img).attr("height", "100");
而是假设很多人用坏了(特别是在这样一个关键的地方,因为这)一个框架,尝试在你可能做错了阅读起来。 – Isaac 2010-01-16 18:25:12
这是一个很好的问题,标题只是需要编辑。 – 2010-12-18 12:48:06