jQuery 元素 outerWidth() returns 0
jQuery element outerWidth() returns 0
我有一个图像元素 css 集
height: 64px;
width: auto;
当我尝试使用 .outerHeight()
和 .outerWidth()
通过 jQuery 获取高度和宽度时,我可以正确获取高度,但宽度 returns 为 0。我什至试过 width(), innerWidth() 还是一样。
我必须动态设置图像。也许那有一些问题。这里是fiddlehttp://jsfiddle.net/abdulpathan/0vrbnpe3/3
谁能帮我解决这个问题。
谢谢
解决方案是在加载图像后简单地获取宽度。
jQuery(document).ready(function() {
$('#test').on("load", function() {
var height = $('#test').outerHeight();
var width = $('#test').outerWidth();
width = width.toFixed(2); // rounds it
console.log('Width:' + width);
console.log('Height:' + height);
})
$('#test').attr('src', 'https://www.gstatic.com/webp/gallery3/2.png');
});
.test-img {
height: 100px;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="banner-message">
<img id="test" class="test-img">
</div>
我有一个图像元素 css 集
height: 64px;
width: auto;
当我尝试使用 .outerHeight()
和 .outerWidth()
通过 jQuery 获取高度和宽度时,我可以正确获取高度,但宽度 returns 为 0。我什至试过 width(), innerWidth() 还是一样。
我必须动态设置图像。也许那有一些问题。这里是fiddlehttp://jsfiddle.net/abdulpathan/0vrbnpe3/3
谁能帮我解决这个问题。
谢谢
解决方案是在加载图像后简单地获取宽度。
jQuery(document).ready(function() {
$('#test').on("load", function() {
var height = $('#test').outerHeight();
var width = $('#test').outerWidth();
width = width.toFixed(2); // rounds it
console.log('Width:' + width);
console.log('Height:' + height);
})
$('#test').attr('src', 'https://www.gstatic.com/webp/gallery3/2.png');
});
.test-img {
height: 100px;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="banner-message">
<img id="test" class="test-img">
</div>