Почему clientWidth/Height возвращают 0 на IE, Chrome и Safari? но в Firefox и Opera отлично работает. Я использовал этот код:clientWidth и clientHeight возвращает 0
$(document).ready(function() {
var imgs = document.getElementsByTagName('img');
var imgLength = imgs.length;
for (var i = 0; i <= imgLength - 1; i++) {
var imgWidth = imgs[i].clientWidth;
var imgHeight = imgs[i].clientHeight;
$('img').eq(i).attr({
width: imgWidth,
height: imgHeight
});
console.log(imgWidth);
}
console.log(imgLength);
});
любая идея? Благодарю.
Я попытался с window.load с clientwidth его отлично работает для Firefox, Chrome и Opera, но он другие не
Если вы используете jquery pls, используйте свойство innerWidth(), а не ширину клиента –
@Ajaybeniwal ~ в этом конкретном примере, нет, не лучше использовать jQuery. Как правило, быстрее ссылаться на собственные свойства, чем называть функции jQuery, а OP имеет дескриптор на собственном объекте JS DOM; почему возникает проблема обертывания этого объекта jQuery и возникают дополнительные накладные расходы? –
Я недавно ответил на аналогичный вопрос; вы можете [прочитать это также] (http://stackoverflow.com/a/11116604/304588). Похоже на ту же проблему. –