Make sure the code is inside the $(window).load [not $(document).ready ]
$(window).load(function () {
newhgt = $('#thetext1').find('div.rhs').css("background", "pink").height();
});
欢迎各位兄弟 发布技术文章
这里的技术是共享的
$(function(){
$('.little_selected_wrapper').find("[id^=little_]").each(function () {
var old_id = $(this).attr('id').replace('little_', '');
$(this).width($('#' + old_id).width() / 2);
$(this).height($('#' + old_id).height() / 2);
$(this).css({top: $('#' + old_id).position().top / 2, left: $('#' + old_id).position().left / 2});
console.log($('#' + old_id).attr('id'));
console.log("width" + $('#' + old_id).css('width'));
console.log("height" + $('#' + old_id).css('height'));
console.log("height()" + $('#' + old_id).height());
console.log("outerheight" + $('#' + old_id).outerHeight());
console.log("innerheight" + $('#' + old_id).innerHeight());
//$(this).left($('#'+old_id).left()/2);
//$(this).top($('#'+old_id).top()/2);
// console.log($(this).attr('id'));
// console.log($('#'+old_id).attr('id'));
// console.log($('#'+old_id).position().left);
// console.log($('#'+old_id).css('left'));
});
})
css 中 height为auto,这里
$('#' + old_id).css('height')
可能是刚加载时执行这段代码,但是图像还未加载完,
因为浏览器来不及计算这个图像的 高度,所以它的值就变成了 0
把 $(function(){ 改成了 window.onload 好像可以了
即代码如下:
window.onload = function() {
$('.little_selected_wrapper').find("[id^=little_]").each(function () {
var old_id = $(this).attr('id').replace('little_', '');
$(this).width($('#' + old_id).width() / 2);
$(this).height($('#' + old_id).height() / 2);
$(this).css({top: $('#' + old_id).position().top / 2, left: $('#' + old_id).position().left / 2});
console.log($('#' + old_id).attr('id'));
console.log("width" + $('#' + old_id).css('width'));
console.log("height" + $('#' + old_id).css('height'));
console.log("height()" + $('#' + old_id).height());
console.log("outerheight" + $('#' + old_id).outerHeight());
console.log("innerheight" + $('#' + old_id).innerHeight());
//$(this).left($('#'+old_id).left()/2);
//$(this).top($('#'+old_id).top()/2);
// console.log($(this).attr('id'));
// console.log($('#'+old_id).attr('id'));
// console.log($('#'+old_id).position().left);
// console.log($('#'+old_id).css('left'));
});
};
Make sure the code is inside the $(window).load [not $(document).ready ]
$(window).load(function () {
newhgt = $('#thetext1').find('div.rhs').css("background", "pink").height();
});
$("_element name/id_").load(function() {
$(this).height();
});
来自 https://stackoverflow.com/questions/9292529/jquery-height-returns-0-on-a-visible-div-why
请检查你在DOM准备好时尝试获取高度,也就是说在window.onload函数中。
如果您的div元素为空且height为auto,则它将返回0.因此在加载完整页面之前,您的div可能为空。
例如:我想记住我的.elementDiv div的初始高度:
var initialHeight = [];
window.onload = function() {
$('.elementDiv').each(function(i) {
initialHeight[i]=$(this).height();
});
// then use it
}
当不在onload函数中时,我得到的高度都是0。
我希望这是原因,因为我没有看到任何其他东西..
来自 https://stackoverflow.com/questions/5667152/jquery-get-height-of-auto-height-element?lq=1