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

发布于 2024-10-17 05:37:44 字数 819 浏览 2 评论 0原文

我发现 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.

});

I found that the jquery attr() method doesn't like accepting values with "px" in them. The resulting images end up with zero width and height! Is this a bug, an oversight or some feature?

It is easy to get around, but I really don't like setting values without units. It could lead to unpredictable behaviour.

Tested the following in firefox 3.6 and 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.

});

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

看透却不说透 2024-10-24 05:37:44

当您使用 attr 时,您正在设置一个属性。您使用 css 来设置 style 属性。

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

When you use attr, you are setting an attribute. You use css for setting a style property.

You wouldn't use px in a width attribute in HTML, so you don't use it in attr either.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文