[英]how do i toggle the visibility of an html element using knockoutjs ?
[英]How do you toggle the visibility of an html element in Javascript?
我想知道是否有人能弄清楚為什么我的功能無法正常工作。 我想要實現的是當點擊一個按鈕時它會顯示文本,當它再次被點擊時它會隱藏它,依此類推。
function hideshow (){
var showhide=document.getElementById('text');
if(showhide.style.display="none")
{
showhide.style.display="block";
}
else{
showhide.style.display="none";
}
}
到目前為止,當我點擊它時,我得到了它來顯示我的文本,但是一旦我再次點擊它,它對文本沒有影響。
我認為應該是:
function hideshow (){
var showhide = document.getElementById('text');
if (showhide.style.display == "none")
{
showhide.style.display = "block";
}
else{
showhide.style.display = "none";
}
}
因此,在比較時使用'=='而不是'='。 '='運算符賦值。 在javascript中還有'==='運算符。 區別在於'=='將投射值,而'==='將嚴格比較。
例如:
0 == false; // will return true
0 === false; // will not
所以你也可以使用
if (showhide.style.display === "none")
您可以在此處詳細了解運營商。
你應該在你的if
語句中使用===
。 =
是賦值運算符:
function hideshow (){
var showhide=document.getElementById('text');
if(showhide.style.display==="none")
{
showhide.style.display="block";
}
else{
showhide.style.display="none";
}
}
要么:
function hideshow (){
var showhide=document.getElementById('text');
showhide.style.display = showhide.style.display === "none" ?
"block" :
"none";
}
您應該使用比較==
運算符,而不是使用=
運算符分配值。
嘗試:
function hideshow() {
var showhide = document.getElementById('text').style;
(showhide.display = showhide.display == "none" ? "block" : "none" )
}
您可以使用以下命令在一個語句中分配和比較
(showhide.display = showhide.display == "none" ? "block" : "none" )
^assign ^comparison
演示: http : //jsfiddle.net/7Eaf2/
function hideShow() {
el.style.display != "none" ? "none" : "block";
}
<!DOCTYPE html>
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<script type="text/javascript">
function hideshow() {
var showhide=document.getElementById('text');
if(showhide.style.visibility=="hidden")
{
showhide.style.visibility="visible";
}
else{
showhide.style.visibility="hidden";
}
}
</script>
</head>
<body>
<div id="text">Text</div>
<button onclick="hideshow()">hideshow</button>
</body>
</html>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.