2009-10-23 32 views
1

假设我有一个JavaScript变量 “is_valid”如何根据javascript变量显示网站的某个部分?

如果变量是1,我想显示:

<div>It's valid!</div> ...and a big chunk of other code 

否则......

<div>NOT valid</div>...and a big chunk of other code 

我不想使用INNERHTML。我想这样做:

<script type="text/javascript"> 
    if(is_valid == 1){ 
</script> 
    It's valid! 
<script type="text/javascript"> 
    }else{ 
</script> 
    It's not valid 
<script type="text/javascript"> 
    } 
</script> 
+3

一般来说,你这样做是把两个选项页面,然后显示一个隐藏其他的方式。你从服务器端的角度来看待这个问题,并且希望将标签放在周围,这会在你输出一次而又不会再次改变的时候起作用,但是在客户端的角度看它并不适用随时更改。 – 2009-10-23 21:50:08

回答

3

将代码放入可以显示或隐藏的元素中。例如:

<div id="Valid"> 
    <div>It's valid!</div> ...and a big chunk of other code 
</div> 
<div id="Invalid"> 
    <div>NOT valid</div>...and a big chunk of other code 
</div> 

<script type="text/javascript"> 
document.getElementById('Valid').style.display = (is_valid == 1 ? 'block' : 'none'); 
document.getElementById('Invalid').style.display = (is_valid == 1 ? 'none' : 'block'); 
</script> 
2

假设您有:

<div id="isvalid">It's valid!</div> 
<div id="isnotvalid">NOT valid!</div> 
... blah blah ... 

然后,在你的JavaScript:

document.getElementById("isvalid").style.display = is_valid ? "" : "none"; 
document.getElementById("isnotvalid").style.display = is_valid ? "none" : ""; 

或者,如果你使用jQuery:

$("#isvalid").toggle(isvalid); 
$("#isnotvalid").toggle(!isvalid); 
+0

打我吧(lorem ipsum) – 2009-10-23 21:44:10

1

假设你已经在网页上的内容,只是想切换可视性,您可以执行以下操作。

HTML

<div id="valid_section">....</div> 
<div id="invalid_section">....</div> 

的JavaScript

document.getElementById("valid_section").style.display = is_valid ? ""  : "none"; 
document.getElementById("invalid_section").style.display = is_valid ? "none" : ""; 
相关问题