2010-01-16 61 views
2

我在容器中有图像,我已经在CSS中为这个图像设置了宽度和高度属性。但是我需要添加加载图片,并且它比容器中显示的实际图片更小,所以我需要在加载时更改图片的大小。但是,当我设置宽度和高度属性,图像显示在CSS中设置的大小。jQuery attr不起作用

$(img).attr("src", "loading.gif"); 
$(img).show(); 
$(img).attr("width", "100px"); 
$(img).attr("height", "100px"); 
+1

而是假设很多人用坏了(特别是在这样一个关键的地方,因为这)一个框架,尝试在你可能做错了阅读起来。 – Isaac 2010-01-16 18:25:12

+1

这是一个很好的问题,标题只是需要编辑。 – 2010-12-18 12:48:06

回答

5

你混淆属性与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"); 
+0

好吧,这是我的错误,对所有答案thanx! – newbie 2010-01-16 18:25:04

+0

@newbie:你想创建图片吗? – Sampson 2010-01-16 18:25:55

+0

我改变attr到CSS,它的工作。所以我只是使用了错误的功能.. – newbie 2010-01-16 18:47:23

2

不要使用attr("width")等覆盖CSS,使用css()

$(img).attr('src', 'loading.gif').show().css({ width: 100, height: 100 }); 
3

您已检查源将是什么你做的时候是怎样的?

<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";}); 
+0

哈 - 我显然没有我的单位/没有单位下来=) – 2010-01-16 18:26:11

+0

看起来不错! +1 :) – 2010-01-16 18:29:38

相关问题