Tại sao clientWidth/Height trả về 0 trên IE, Chrome và Safari? nhưng trên Firefox và Opera hoạt động tốt. Tôi đã sử dụng mã này:clientWidth và clientHeight trả về 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);
});
bất kỳ ý tưởng nào? Cảm ơn.
Tôi đã thử với window.load với clientwidth công trình của nó tốt cho Firefox, Chrome và Opera nhưng ông khác không
Nếu bạn đang sử dụng jquery pls sử dụng innerWidth() tài sản thay vì sau đó chiều rộng khách hàng –
@Ajaybeniwal ~ trong ví dụ cụ thể này, không, nó không tốt hơn để sử dụng jQuery. Nói chung các thuộc tính gốc thường nhanh hơn để gọi các hàm jQuery, và OP có một xử lý trên một đối tượng JS DOM gốc; tại sao đi qua những rắc rối của gói đó trong một đối tượng jQuery, và phát sinh thêm chi phí? –
Gần đây tôi đã trả lời về một câu hỏi tương tự; bạn cũng có thể muốn [đọc nó] (http://stackoverflow.com/a/11116604/304588). Có vẻ như cùng một vấn đề. –