JavaScript中display与visibility隐藏控件的区别

作者:纸飞机

时间:2026-10-23

浏览:396

本文详解JavaScript中隐藏HTML控件的两种主要方式:style.display与style.visibility。通过对比分析,阐述display:none在隐藏控件的同时释放页面布局空间,而visibility:hidden仅隐藏视觉内容但保留原有占位空间的特性。文章提供完整的HTML结构及对应的JavaScript函数实现代码,帮助开发者根据实际布局需求选择合适的隐藏策略。

文章目录

display与visibility隐藏控件的区别

当元素的style.display属性设置为"block"或style.visibility属性设置为"visible"时,控件处于可见状态;反之,若style.display设为"none"或style.visibility设为"hidden",则控件不可见。


两者的核心区别在于对页面布局的影响:"display"属性在隐藏控件的同时,会释放该控件原本占用的页面空间;而"visibility"属性仅将控件设为不可见,控件在页面布局中仍保留其原有的位置。


HTML控件与按钮结构

<p>


<input id='control' value="想要隐藏的控件">


</p>


<p>


隐藏上面的控件,并使其不占用页面上的位置


<input type="button" value='隐藏' onclick='displayHide_control()'>


<input type="button" value='显示' onclick='displayShow_control()'>


<br />


仅仅隐藏控件,其位置仍然占用


<input type="button" value='隐藏' onclick='visibilityHide_control()'>


<input type="button" value='显示' onclick='visibilityShow_control()'>


</p>


JavaScript实现代码

<script language="javascript" type="text/javascript">


function displayHide_control()


{

var _control = document.getElementById("control");


_control.style.display="none";


}

function displayShow_control()


{

var _control = document.getElementById("control");


_control.style.display="block";


}

function visibilityHide_control()


{

var _control = document.getElementById("control");


_control.style.visibility="hidden";


}

function visibilityShow_control()


{

var _control = document.getElementById("control");


_control.style.visibility="visible";


}

</script>

实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›
相关文章