[英]How do I change the CSS property “display” in javascript
如何更改JavaScript中的CSS属性display
,从display:none
到display:normal
这些div的display:normal
是什么?
#hide_0 { display:none }
#hide_1 { display:none }
#hide_2 { display:none }
#hide_3 { display:none }
#hide_4 { display:none }
#hide_5 { display:none }
一次只有一个。 我需要显示一个并隐藏其余部分。
我用过的:
var persistent_element='hide_1';
function link_update(link_display)
{
var local_element;
local_element=document.getElementById(persistent_element);
local_element.style.display='none';
local_element=document.getElementById(link_display);
local_element.style.display='block';
persistent_element=link_display;
}
我如何连接它:m4是一个缩小的 - 连接onclick这些方法
m4('l1',function {return link_update(hide_1);});
m4('l2',function {return link_update(hide_2);});
m4('l3',function {return link_update(hide_3);});
m4('l4',function {return link_update(hide_4);});
m4('l5',function {return link_update(hide_5);});
m4('l6',function {return link_update(hide_6);});
要使用javascript更改样式,您可以这样做:
// hide an element
document.getElementById("hide_0").style.display = "none";
// show a block element
document.getElementById("hide_1").style.display = "block";
// to go back to the default or CSS specified value
document.getElementById("hide_2").style.display = "";
所以,如果你想隐藏所有并显示一个,你可以使用这个功能:
function showOneHideOthers(base, len, numToShow) {
// objects must have ids like base_0, base_1, etc...
for (var i = 0; i < len; i++) {
if (i != numToShow) {
document.getElementById(base+i).style.display = "none";
}
}
document.getElementById(base+numToShow).style.display = "block";
}
showOneHideOther("hide_", 6, 2);
PS normal
不是display属性的有效值。 典型的值是block
, none
和inline
,还有其他像inline-block
, table
等....
你的问题不是特别清楚,但你想要做的事情的本质很简单。 您可以使用getElementById
获取对具有id
的DOM元素的引用,并且可以更改display
属性:
document.getElementById("hide_0").style.display = "none"; //or "block"
但是,您有几个要隐藏/显示的元素(我不确定您何时想要这样做),因此使用不同的方法选择元素可能更容易(例如getElementsByTagName
或getElementsByClassName
,但是这取决于你的HTML以及你真正想要做的事情)。
您可以使用style方法在元素上设置css属性。
div.style.display = '';
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.