Javascript 如何';s jquery是否能够获取隐藏div的高度?
请看下面的链接 HTML:Javascript 如何';s jquery是否能够获取隐藏div的高度?,javascript,jquery,Javascript,Jquery,请看下面的链接 HTML: 单独使用jquery如何获得隐藏div的高度?谢谢 将其用于脚本: $(document).ready(function(){ var x = document.getElementById("test").getBoundingClientRect().height; $("#test").hide(); alert($("#test").height()); alert(x); }); 在脚本中使用此选项: $(document
单独使用jquery如何获得隐藏div的高度?谢谢 将其用于脚本:
$(document).ready(function(){
var x = document.getElementById("test").getBoundingClientRect().height;
$("#test").hide();
alert($("#test").height());
alert(x);
});
在脚本中使用此选项:
$(document).ready(function(){
var x = document.getElementById("test").getBoundingClientRect().height;
$("#test").hide();
alert($("#test").height());
alert(x);
});
在纯JavaScript中,您可以执行以下操作,并且应该可以正常工作:
// $("#test").hide();
// alert($("#test").height());
var el = document.getElementById("test");
el.style.position = 'absolute';
el.style.visibility = 'hidden';
alert(el.offsetHeight); // 40
jQuery可能正在以其他方式为您发挥魔力。使用display:none
获取隐藏对象的尺寸是不可靠的
编辑:这是最新的。你必须把一些点连起来,但看起来并不复杂 在纯JavaScript中,您可以执行类似的操作,它应该可以工作:
// $("#test").hide();
// alert($("#test").height());
var el = document.getElementById("test");
el.style.position = 'absolute';
el.style.visibility = 'hidden';
alert(el.offsetHeight); // 40
jQuery可能正在以其他方式为您发挥魔力。使用display:none
获取隐藏对象的尺寸是不可靠的
编辑:这是最新的。你必须把一些点连起来,但看起来并不复杂 您可以使用
$('#test1').height();
$('#test2').height();
height()函数计算给定元素的高度。可以使用
$('#test1').height();
$('#test2').height();
height()函数计算给定元素的高度。请注意差异:
Jquery将其隐藏,因此它知道隐藏元素在隐藏之前的高度
而javascript只返回当前高度
$(document).ready(function(){
alert(document.getElementById("test").getBoundingClientRect().height); // 40
$("#test").hide();
alert(document.getElementById("test").getBoundingClientRect().height); // 0
});
请注意区别:
Jquery将其隐藏,因此它知道隐藏元素在隐藏之前的高度
而javascript只返回当前高度
$(document).ready(function(){
alert(document.getElementById("test").getBoundingClientRect().height); // 40
$("#test").hide();
alert(document.getElementById("test").getBoundingClientRect().height); // 0
});
我没有从其他答案中得到太多,我想知道同样的事情,并找到了答案 使用if
getClientRects()
或getBoundingClientRect()
不返回任何有用的内容,可以将这些属性临时添加到元素中:
{ position: "absolute", visibility: "hidden", display: "block" }
然后调用
val=elem.getBoundingClientRect()[name]代码>以获得宽度(第127行-3.0.0-pre)。我从其他答案中没有得到多少,我想知道同样的事情,并找到了答案
使用ifgetClientRects()
或getBoundingClientRect()
不返回任何有用的内容,可以将这些属性临时添加到元素中:
{ position: "absolute", visibility: "hidden", display: "block" }
然后调用val=elem.getBoundingClientRect()[name]
获取宽度(第127-3.0.0-pre行)。您能解释一下您到底想要什么吗您已经在使用JQuery了,但为什么仍然使用document.getElementById(“测试”)
?为什么不使用$(“#test”)代码>?这不是我面临的问题。我只是想了解jquery是如何获得高度的。为什么你认为在隐藏div之前存储高度对jquery来说很困难?你能解释一下你到底想要什么吗你已经在使用jquery了,但是为什么仍然使用document.getElementById(“test”)
?为什么不使用$(“#test”)代码>?这不是我面临的问题。我只是想了解jquery是如何获得高度的。为什么您认为在隐藏div之前存储高度对jquery来说会很困难??