Javascript 获取div的高度,全部隐藏在一个div中
寻找一个JavaScript解决方案(jQuery就可以了)来获取一些div的高度,这些div都位于一个display设置为none的父div中 伪代码:Javascript 获取div的高度,全部隐藏在一个div中,javascript,styles,height,Javascript,Styles,Height,寻找一个JavaScript解决方案(jQuery就可以了)来获取一些div的高度,这些div都位于一个display设置为none的父div中 伪代码: <div id="hiddenParent" style="display:none"> <div class="childDiv">child div 1</div> <div class="childDiv">child div 2</div> <div cla
<div id="hiddenParent" style="display:none">
<div class="childDiv">child div 1</div>
<div class="childDiv">child div 2</div>
<div class="childDiv">child div 3</div>
</div>
儿童组1
儿童事务组2
儿童事务组3
假设类ChildDiv没有指定高度,也没有在任何地方设置任何ChildDiv元素的高度
当“hiddenParent”设置为显示:无时,有没有关于如何获得身高的想法 试试看
关于这个问题,有很多好帖子。试着看一看
var clone = $("#hiddenParent").clone().css("display","block").css("position","absolute").css("left","-9999px");
$("#hiddenParent").after(clone);
alert(clone.outerHeight());
clone.remove();
关于这个问题有很多好帖子
var clone = $("#hiddenParent").clone().css("display","block").css("position","absolute").css("left","-9999px");
$("#hiddenParent").after(clone);
alert(clone.outerHeight());
clone.remove();
使用jQuery
使用jQuery。在jQuery获取元素高度后,可以隐藏
div
HTML(减去样式)
注意:这段代码只是一个示例,只会得到第一个子元素的高度,但您可以得到如何获得隐藏元素高度的要点。在jQuery获得元素高度后,您可以隐藏
div
HTML(减去样式)
注意:这段代码只是一个例子,只会得到第一个孩子的高度,但你会得到如何得到隐藏元素高度的要点。晚会迟到了,但我还是会给出我对这一点的看法。 下面的解决方案是用普通Javascript编写的,但显然相同的逻辑也适用于jQuery 元素不一定需要才能被测量,它们只需要不才能
显示:无代码>。显示:无表示计算样式中的高度为0,因此我们必须找到解决方法
我们可以通过两个简单的步骤模拟显示:none
:
我们设置了可见性:隐藏(因此元素不可见)
我们设置位置:绝对(因此元素不占用空间)
然后我们将其显示设置为块
(或空字符串,只要它不是无
)。
然后我们将有一个不可见的div,它将不占用文档中的任何空间,但将保留其自己的原始维度。这样,即使css中以前没有设置维度,也可以通过JavaScript完全访问它
在一个循环中,我们将对需要的每个div运行getComputedStyle
,查找其高度
// start loop
getComputedStyle(el).getPropertyValue('height');
// end loop
如果在循环结束时仍需要将显示设置为“无”,则可以将其还原。
脚本实际上并不复杂,运行时没有任何闪烁
这是一个例子
<代码> var PAR =文档.GETelEnMyBID(“HIDENDENCEND”)
CD= PAR。
伦恩,
高度=[],
我
函数getHeight(){
len=cd.长度;
//1.我们隐藏父母
能见度=“隐藏”;
//2.我们将其位置设置为绝对,因此它不会
//在窗口内腾出空间
位置=绝对值;
//3.我们将其显示设置为“阻挡”,以恢复其自然高度
显示=“块”;
//4.我们开始绕着它的孩子转
而(len--){
//我们得到每个孩子的身高…这里我们只是将他们存储在数组中,
//稍后我们会提醒您
高度[len]=window.getComputedStyle(cd[len]).getPropertyValue('height');
}
//5.工作完成后,我们可以恢复一切正常(如果需要)
CSSTEXT=“显示:无”;
}
document.getElementById('starter')。addEventListener('click',function(){
getHeight();
警戒(高度);
});代码>
#隐藏父项,。另一个div{
背景:水鸭;
宽度:40%;
填充:20px;
文本对齐:居中;
颜色:白色;
字体系列:Arial;
文本转换:大写;
颜色:#ccc;
}
childDiv先生{
背景:紫色;
填充:10px;
边缘底部:10px;
}
.另一个分区{
背景:橙色;
颜色:#1F9091;
}
计算高度
儿童组1
儿童事务组2
儿童事务组3
这是另一个部门
晚会迟到了,但无论如何我会对这件事给出我的看法。
下面的解决方案是用普通Javascript编写的,但显然相同的逻辑也适用于jQuery
元素不一定需要才能被测量,它们只需要不才能显示:无代码>。显示:无表示计算样式中的高度为0,因此我们必须找到解决方法
我们可以通过两个简单的步骤模拟显示:none
:
我们设置了可见性:隐藏(因此元素不可见)
我们设置位置:绝对(因此元素不占用空间)
然后我们将其显示设置为块
(或空字符串,只要它不是无
)。
然后我们将有一个不可见的div,它将不占用文档中的任何空间,但将保留其自己的原始维度。这样,即使css中以前没有设置维度,也可以通过JavaScript完全访问它
在一个循环中,我们将对需要的每个div运行getComputedStyle
,查找其高度
// start loop
getComputedStyle(el).getPropertyValue('height');
// end loop
如果在循环结束时仍需要将显示设置为“无”,则可以将其还原。
脚本实际上并不复杂,运行时没有任何闪烁
这是一个例子
<代码> var PAR =文档.GETelEnMyBID(“HIDENDENCEND”)
CD= PAR。
伦恩,
高度=[],
我
函数getHeight(){
len=cd.长度;
//1.我们隐藏父母
能见度=“隐藏”;
//2.我们将其位置设置为绝对,因此它不会
//在窗口内腾出空间
位置=绝对值;
//3.我们将其显示设置为“阻挡”,以恢复其自然高度
显示=“块”;
//4.我们开始绕着它的孩子转
而(len--){
//我们得到每个孩子的身高…这里我们只是将他们存储在数组中,
//我们会通知lat的