使用“插入”插入值时,图像属性设置为零;px“;进入jquery';s attr法

使用“插入”插入值时,图像属性设置为零;px“;进入jquery';s attr法,jquery,attributes,attr,Jquery,Attributes,Attr,我发现jquery attr()方法不喜欢接受带有“px”的值。结果图像的宽度和高度都为零!这是一个bug、一个疏忽还是一些特性 四处走动很容易,但我真的不喜欢设置没有单位的值。这可能导致不可预测的行为 在firefox 3.6和opera 11中测试了以下内容: <html> <head> <script type="text/javascript" src="../jquery-1.4.min.js"></script> <script

我发现jquery attr()方法不喜欢接受带有“px”的值。结果图像的宽度和高度都为零!这是一个bug、一个疏忽还是一些特性

四处走动很容易,但我真的不喜欢设置没有单位的值。这可能导致不可预测的行为

在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.

});

$(文档).ready(函数(){
$('div#links').css({'height':“300px”});
$('div#links img').attr({'width':'100px','height':'100px})//这不起作用!
//$('div#links img').attr({'width':“100”,'height':“100”})//这很有效。
});
使用时,您正在设置一个属性。用于设置
样式
属性

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

使用时,您正在设置一个属性。用于设置
样式
属性


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

但HTMLLOG建议设置元素的宽度和高度属性。我认为这是html结构的一个例外,css表示规则。这种做法现在不受欢迎吗?@据我所知,沙菲不是。只需在不使用px的情况下设置尺寸即可。这是正确的方法。在标签上添加宽度和高度属性可以使它们快速渲染,因为浏览器确切地知道图像要去哪里以及如何缩放图像。但是正如答案所说,你只是没有在属性上加上“px”,而是在CSS中加上。但是htmldog建议为元素设置宽度和高度属性。我认为这是html结构的一个例外,css表示规则。这种做法现在不受欢迎吗?@据我所知,沙菲不是。只需在不使用px的情况下设置尺寸即可。这是正确的方法。在标签上添加宽度和高度属性可以使它们快速渲染,因为浏览器确切地知道图像要去哪里以及如何缩放图像。但正如答案所说,你只是不把“px”放在属性上,而是放在CSS上。