你能否做类似于以下的操作:
function showDiv()
{
[DIV].visible = true;
//or something
}
你能否做类似于以下的操作:
function showDiv()
{
[DIV].visible = true;
//or something
}
如果[DIV]是一个元素,那么
[DIV].style.visibility='visible'
或
[DIV].style.visibility='hidden'
[DIV]
,而应该使用document.getElementById('id-of-the-div')
。 - ThiefMastertestdiv
,那么它就应该是document.getElementById('testdiv').style.visibility = 'hidden';
? - user1163722假设您不使用像jQuery这样的库。
如果您还没有对DOM元素的引用,请使用var elem = document.getElementById('id');
获取一个。
然后,您可以设置该元素的任何CSS属性。要显示/隐藏,可以使用两个属性:display
和visibility
,它们具有稍微不同的效果:
调整style.display
将看起来像元素根本不存在(“被移除”)。
elem.style.display = 'none'; // hide
elem.style.display = 'block'; // show - use this for block elements (div, p)
elem.style.display = 'inline'; // show - use this for inline elements (span, a)
或者style.visibility
会让
elem.style.visibility = 'hidden'; // hide, but lets the element keep its size
elem.style.visibility = 'visible';
如果您正在使用jQuery,并且想要设置"display"属性,则可以更轻松地实现。$(elem).hide();
$(elem).show();
它将自动使用适当的"display"值,您不必关心元素类型(内联或块)。此外,"elem"不仅可以是DOM元素,还可以是选择器,如"#id"或".class"或任何其他有效的CSS3(以及更多!)。你可以使用 visibility
或者 display
属性,但是必须将更改应用于 div.style
对象而不是 div
对象本身。
var div = document.getElementById('div_id');
// hide
div.style.visibility = 'hidden';
// OR
div.style.display = 'none';
// show
div.style.visibility = 'visible';
// OR
div.style.display = 'block';
setAttribute和removeAttribute函数
一个快速查看:hide: document.getElementById("myDiv").setAttribute("hidden","");
unhide: document.getElementById("myDiv").removeAttribute("hidden");
elem.style.display = 'none'; // hide
用于可见性的使用
elem.style.display = 'revert'; // show
这个posolite不关心元素类型
注意:
revert
关键字与initial
关键字不同,不应混淆。initial
关���字使用 CSS 规范中每个属性定义的 初始值。相比之下, 用户代理样式表根据 CSS 选择器设置默认值。例如,
display
属性的 初始值 是inline
, 而普通用户代理样式表将<div>
的默认display
值设置为block
, 将<table>
的默认display
值设置为table
等。 revert
opacity
,它类似于visibility
,但允许平滑过渡并控制其他参数,如高度(为了简化代码段,我直接在html中放置了js逻辑-不要在生产代码中这样做)。
.box { width:150px; height: 150px; background: red; transition: 0.5s }
.hide { opacity: 0; height: 10px}
<div id="box" class="box"></div>
<button onclick="box.classList.toggle('hide')">Toggle</button>
#div_id {
/*height: 400px;*/
visibility:hidden;
}
document.getElementById('div_id').style.visibility = 'visible';
ID 是您 div 的名称。请确保在 Div 中添加 runat="server"。
document.getElementById('<%= ID.ClientID %>').hidden = false;
document.getElementById('<%= ID.ClientID %>').hidden = true;
function showDiv(isVisible)
{
[DIV].hidden = !isVisible;
}
.hide()
方法并不会设置元素的可见性(visibility),而是会设置它的显示方式(display)。有些人会在每个JavaScript问题中推广jQuery库,但只有当你已经在使用jQuery时才需要考虑这种方法。 - user1106925display
显示元素时不必处理 内联 vs 块级 样式。 - ThiefMaster