Атрибуты изображения устанавливаются в ноль при вставке значений с «px» в метод attr jquery - PullRequest
1 голос
/ 14 февраля 2011

Я обнаружил, что методу 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 Ответ

5 голосов
/ 14 февраля 2011

Когда вы используете attr, вы устанавливаете атрибут. Вы используете css для установки свойства style.

Вы не будете использовать px в атрибуте width в HTML, поэтому вы также не используете его в attr.

...