如何在javascript中更改CSS属性"display"

Ste*_*ams 3 javascript css block

如何display在JavaScript display:nonedisplay:normal为这些div 更改CSS属性?

#hide_0 { display:none }
#hide_1 { display:none }
#hide_2 { display:none }
#hide_3 { display:none }
#hide_4 { display:none }
#hide_5 { display:none }
Run Code Online (Sandbox Code Playgroud)

一次只有一个.我需要显示一个并隐藏其余部分.

我用过的:

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;
  }
Run Code Online (Sandbox Code Playgroud)

我如何连接它: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);});
Run Code Online (Sandbox Code Playgroud)

jfr*_*d00 8

要使用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 = "";
Run Code Online (Sandbox Code Playgroud)

所以,如果你想隐藏所有并显示一个,你可以使用这个功能:

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);
Run Code Online (Sandbox Code Playgroud)

PS normal不是显示属性的有效值.典型值是block,noneinline和有其他人一样inline-block,table等....


GAg*_*new 0

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

div.style.display = '';
Run Code Online (Sandbox Code Playgroud)