jQuery attr无法正常工作

时间:2010-01-16 18:15:21

标签: jquery attributes

我在容器中有图像,我在CSS中为此图像设置了宽度和高度属性。但我需要添加加载图像,它比将在容器中显示的实际图片小,所以我需要在加载时更改图像的大小。但是当我设置宽度和高度属性时,图像将以CSS中设置的大小显示。

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

5 个答案:

答案 0 :(得分: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");

答案 1 :(得分:3)

你有没有检查完成后源的样子?

<img src="loading.gif" width="100px" height="100px" />

无效。

<img src="loading.gif" width="100" height="100" />

意愿。因此,请删除px units =)

编辑:正如其他响应者指出的那样,最好使用css。但是,他们都忘记了在css中你需要单位。

$(img).css({width: "100px"; height: "100px";});

答案 2 :(得分:2)

请勿使用attr("width")等覆盖CSS,请使用css()

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

答案 3 :(得分:1)

根据this question

,或许尝试调整样式属性

答案 4 :(得分:0)

widthheight属性的唯一单位是百分比(…%)。 Values without that unit are always pixels.所以试试这个:

$(img).attr("width", "100");
$(img).attr("height", "100");