隐藏自定义网址上的div元素

时间:2015-01-22 11:20:17

标签: html show-hide

我正在根据我的不同自定义链接寻找使用php代码隐藏div元素的解决方案。所以我要隐藏的div不会出现在html源代码中。

我在一个页面中有两个不同的" div" s。为了使页面显示 div A 并隐藏 div B ,我创建了" example.com/account/?Member=login "(用于显示div A而div b未显示)和" example.com/account/?Member=Signup "(用于显示div B而div A没有出现)。但是,我现在使用的代码如下所述。

我的css中的代码:

.login {display:none;}
.signup {display:none;}

PHP on html file:

    <?
    $s=$_GET['Member'];
    if ($s=="Login") {
       echo ('<style>.login {display:block;}</style>');
       }
    ?>
    <?
    $s=$_GET['Member'];
    if ($s=="Signup") {
       echo ('<style>.signup {display:block;}</style>');
       }
    ?>

<div class="login">
<p>Login Form</p>
</div><!--login-->

<div class="signup">
<p>Signup Form</p>
</div><!--signup-->

使用这种方法,两个div都显示在html源代码中,即使其中一个div没有显示在网页中。

我想隐藏div而不显示在html代码中。任何解决方案?

2 个答案:

答案 0 :(得分:1)

为什么不只是在条件匹配时渲染登录。即。

<? $s=$_GET['Member'];
if ($s!="Login") { ?>

   <div class="login">
    <p>Login Form</p>
    </div><!--login-->

  <?php } else {?>

    <div class="signup">
    <p>Signup Form</p>
    </div><!--signup-->

<? } ?>

以上假设您要显示两种可能性中的一种,您需要将其更改为

  <? $s=$_GET['Member'];
    if ($s=="Login") { ?>

        <div class="login">
        <p>Login Form</p>
        </div><!--login-->

  <? } 

    $s=$_GET['Member'];
    if ($s=="Signup") { ?>

        <div class="signup">
        <p>Signup Form</p>
        </div><!--signup-->

  <? } ?>

如果有可能不显示任何一个

答案 1 :(得分:1)

清除你的CSS和:

    <?
        $s=$_GET['Member'];
        if ($s=="Login") {
    ?>
<div class="login">
<p>Login Form</p>
</div><!--login-->
    <?
        }
        $s=$_GET['Member'];
        if ($s=="Signup") {
    ?>
<div class="signup">
<p>Signup Form</p>
</div><!--signup-->
    <?
       }
    ?>