2017-09-15 40 views
4

我試圖顯示或隱藏基於在我的代碼一定標準的按鈕元素。我已經用display: none使該按鈕的默認css「隱藏」它,然後添加一個將顯示更改爲display: block的類。更改類按鈕元素的顯示/隱藏

HTML:

<div> 
    <button id="show">SHOW</button> 
</div> 

CSS:

#show { 
    display: none; 
} 

#show .visible { 
    display: block; 
} 

JS:

var d = document.getElementById('show'); 
d.className += "visible"; 

我也曾嘗試:

var d = document.getElementById('show'); 
d.classList.add("visible"); 

除了:

documnet.getElementById('show').classList.add('visible'); 

的問題是,我不能讓全班同學正確應用,當類更新將不會顯示該按鈕。我敢肯定,我忽略了一些簡單的東西,只是不確定是否有人能夠提供幫助。

回答

3

你把階級 「可見」 有id爲 「秀」 在相同的元素。

所以在你的CSS應該不是#show和。可見之間的空間。

HTML

<div> 
    <button id="show">SHOW</button> 
</div> 

CSS

#show { 
    display: none; 
} 

#show.visible { 
    display: block; 
} 

JS

var d = document.getElementById('show'); 
d.classList.add("visible"); 
+0

就是這樣!謝謝,它的作品:) – BaracudaBill

+0

不客氣! –

2

請使用此方法!

除了更改ID的切換類hide這樣按鈕是可見或不可見的!

function myFunction() { 
 
    var element = document.getElementById("show"); 
 
    element.classList.toggle("hide"); 
 
}
.hide{ 
 
    display:none; 
 
} 
 

 
#show{ 
 
    display: block; 
 
}
<div> 
 
    <button id="show">SHOW</button> 
 
</div> 
 
<button onClick="myFunction()">Toggle</button>

+1

這不是一個' on-click「功能,並且它基於運行的某個代碼行來要求按鈕變爲可見。 – BaracudaBill

+0

@BaracudaBill是的,我是爲了演示目的而做的!但是請切換類「隱藏」以隱藏元素,您可以使用任何方法,但只能使用'element.classList.toggle(「hide」);'這可以用來切換類! –

+1

@NarenMurali是對的。只需創建一個名爲'.hidden'的css類,它具有'display:none'。在html中應用該類。然後簡單地用'classList.toggle'打開或關閉它,或者你可以使用'classList.add/remove'。 –

0

document.getElementById('show').classList.add('visible');
#show { 
 
    /*display: none;*/ 
 
} 
 
.invisible{ 
 
    display: none; 
 
} 
 
.visible { 
 
    display: block; 
 
}
<div> 
 
    <button id="show" class="invisible">SHOW</button> 
 
</div>

我想推薦使用2個班級。 .visible.invisible

您應該.invisible設置display:none。不是#show

2

簡單。這樣寫:

#show.visible { 
    display: block; 
} 

相反的:

#show .visible { 
    display: block; 
} 

(只是#show之間把刪除空格。可見