Javascript 隐藏菜单java脚本

Javascript 隐藏菜单java脚本,javascript,php,jquery,html,Javascript,Php,Jquery,Html,当用户登录或注销时,我试图隐藏其中一个下拉菜单,我使用$\u Session来了解用户是否登录。我的JavaScript有问题。希望有人能帮忙。谢谢这是我的密码: 要隐藏/显示的两个下拉菜单: <li class="dropdown" id="account" > <a href="#" class="dropdown-toggle" data-toggle="dropdown"> Account <b class="caret"><

当用户登录或注销时,我试图隐藏其中一个下拉菜单,我使用
$\u Session
来了解用户是否登录。我的JavaScript有问题。希望有人能帮忙。谢谢这是我的密码:

要隐藏/显示的两个下拉菜单:

<li class="dropdown" id="account" >
  <a href="#" class="dropdown-toggle" data-toggle="dropdown">
    Account
    <b class="caret"></b>
  </a>
  <ul class="dropdown-menu" >
    <li><a href="#">Login</a></li>
    <li class="divider"></li>
    <li><a href="#">Register</a></li>
  </ul>

  <li class="dropdown" id="user">
    <a href="#" class="dropdown-toggle" data-toggle="dropdown">
      <?php 
        if(isset($_SESSION['username'])) {
          echo ' '.htmlentities($_SESSION['username'], ENT_QUOTES, 'UTF-8');
        }
      ?>
      <b class="caret"></b>
    </a>
    <ul class="dropdown-menu">
      <li><a href="#">Profile</a></li>
      <li><a href="#">Messages</a></li>
      <li class="divider"></li>
      <li><a href="#">Logout</a></li>
    </ul>
  • 下面是我的JavaScript代码:

    <script type="text/javascript">
    
        if (isset($_SESSION['username'])) { 
            $('#user').show();
            $('#account').hide();
        } else {
            $('#user').hide();
        }
    
    </script>
    
    
    如果(isset($_会话['username']){
    $('#user').show();
    $(“#帐户”).hide();
    }否则{
    $('#user').hide();
    }
    
    您可以使用PHP在您想要的div中包含一个类,这样您可能不需要javascript和/或jQuery

    <li class="dropdown <?php if(isset($_SESSION['username'])){echo "notvisible";} ?>" id="account" >
    
    如果需要,还可以使用.toggleclass()或其他隐藏/显示菜单的方法

    另一种方法是使用PHP响应所需的菜单,例如:

    <?php
        if(isset($_SESSION['username'])) {
            echo "<li class=\"dropdown\" id=\"account>\"" >>> and whatever you want
        } else {
            echo "<li class=\"dropdown\" id=\"account\">" Hello user".$_SESSION['username']."And whatever else"
        }
    ?>
    

    您可以使用PHP在您想要的div上包含一个类,这样您可能不需要javascript和/或jQuery

    <li class="dropdown <?php if(isset($_SESSION['username'])){echo "notvisible";} ?>" id="account" >
    
    如果需要,还可以使用.toggleclass()或其他隐藏/显示菜单的方法

    另一种方法是使用PHP响应所需的菜单,例如:

    <?php
        if(isset($_SESSION['username'])) {
            echo "<li class=\"dropdown\" id=\"account>\"" >>> and whatever you want
        } else {
            echo "<li class=\"dropdown\" id=\"account\">" Hello user".$_SESSION['username']."And whatever else"
        }
    ?>
    

    PHP不是javascript为什么不只是在用户登录时回显它,而不是show\hide js感谢您指出这一点。假设我可以附送我想要的菜单。但我的问题是,其中一个菜单部分隐藏(#user),而显示的菜单(#account)在用户登录时被替换。如果用户登录PHP,我可以先显示#account,然后将其替换为#user吗?PHP不是Javascript,为什么不在用户登录时回显它,而不是show\hide js?谢谢您指出这一点。假设我可以附送我想要的菜单。但我的问题是,其中一个菜单部分隐藏(#user),而显示的菜单(#account)在用户登录时被替换。如果用户登录PHP,我可以先显示#account,然后将其替换为#user吗?PHP不是Javascript,为什么不在用户登录时回显它,而不是show\hide js?谢谢您指出这一点。假设我可以附送我想要的菜单。但我的问题是,其中一个菜单部分隐藏(#user),而显示的菜单(#account)在用户登录时被替换。如果用户登录PHP,我是否可以先显示#帐户,然后将其替换为#用户?谢谢!我试着用你的第一个答案,但不起作用。你能把“看不见”看成一个班吗?但无论如何,我的问题已经得到了回答。我试图在javascript文件中使用PHP,这是一个禁忌lol。我的解决方案是单独使用PHP编写。我想我需要更多地阅读java脚本。谢谢,顺便说一句:)。@Leroux在HTML中,类或多或少是一个名称/标识符,您可以使用它来识别和选择HTML代码中的元素。它主要与javascript/jQuery或CSS一起使用来设置元素的样式。它用.white{color:#fff;}或CSS文件替换内联样式,后者允许轻松设置许多元素的样式。一个元素也可以有任何数字!我试着用你的第一个答案,但不起作用。你能把“看不见”看成一个班吗?但无论如何,我的问题已经得到了回答。我试图在javascript文件中使用PHP,这是一个禁忌lol。我的解决方案是单独使用PHP编写。我想我需要更多地阅读java脚本。谢谢,顺便说一句:)。@Leroux在HTML中,类或多或少是一个名称/标识符,您可以使用它来识别和选择HTML代码中的元素。它主要与javascript/jQuery或CSS一起使用来设置元素的样式。它用.white{color:#fff;}或CSS文件替换内联样式,后者允许轻松设置许多元素的样式。一个元素也可以有任何数字!我试着用你的第一个答案,但不起作用。你能把“看不见”看成一个班吗?但无论如何,我的问题已经得到了回答。我试图在javascript文件中使用PHP,这是一个禁忌lol。我的解决方案是单独使用PHP编写。我想我需要更多地阅读java脚本。谢谢,顺便说一句:)。@Leroux在HTML中,类或多或少是一个名称/标识符,您可以使用它来识别和选择HTML代码中的元素。它主要与javascript/jQuery或CSS一起使用来设置元素的样式。它用.white{color:#fff;}或CSS文件替换内联样式,后者允许轻松设置许多元素的样式。元素可以有任何数字,也可以是