将带有“px”的值插入jquery的attr方法时,图像属性设置为零

时间:2011-02-14 13:54:29

标签: jquery attributes attr

我发现jquery attr()方法不喜欢接受带有“px”的值。生成的图像最终为零宽度和高度!这是一个错误,疏忽或某些功能吗?

这很容易解决,但我真的不喜欢在没有单位的情况下设置值。这可能导致不可预测的行为。

在firefox 3.6和opera 11中测试了以下内容:

<html>
<head>
<script type="text/javascript" src="../jquery-1.4.min.js"></script>
<script type="text/javascript" src="return.js"></script>
</head>

<body>
<div id="links" style="width:500px; background:#000;">
  <img src="images/ref.png" width="500px" height="500px" alt="reference" />
</div>

</body>
</html>

$(document).ready(function(){

$('div#links').css({ 'height':"300px" });
$('div#links img').attr({ 'width':"100px", 'height':"100px" }); // This doesn't work!
//$('div#links img').attr({ 'width':"100", 'height':"100" }); // This works.

});

1 个答案:

答案 0 :(得分:5)

使用attr时,您正在设置属性。您可以使用css来设置style属性。

您不会在HTML中的px属性中使用width,因此您也不要在attr中使用它。