繁体   English   中英

如何在javascript中更改CSS属性“display”

[英]How do I change the CSS property “display” in javascript

如何更改JavaScript中的CSS属性display ,从display:nonedisplay: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属性的有效值。 典型的值是blocknoneinline ,还有其他像inline-blocktable等....

你的问题不是特别清楚,但你想要做的事情的本质很简单。 您可以使用getElementById获取对具有id的DOM元素的引用,并且可以更改display属性:

document.getElementById("hide_0").style.display = "none"; //or "block"

但是,您有几个要隐藏/显示的元素(我不确定您何时想要这样做),因此使用不同的方法选择元素可能更容易(例如getElementsByTagNamegetElementsByClassName ,但是这取决于你的HTML以及你真正想要做的事情)。

您可以使用style方法在元素上设置css属性。

div.style.display = '';

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM