簡體   English   中英

如何顯示和隱藏 <li> 面板內?

[英]How can show and hide a <li> inside the panel?

我有一個具有登錄頁面的應用程序。 為了登錄,用戶有權在面板內看到兩個聲音(如果用戶是admin)。 如果用戶不是管理員,我不想顯示此聲音。 我的問題是如何隱藏和顯示它。 我在index.html中有面板。這是我想顯示或不顯示的聲音,以便獲得用戶的許可。

            <li id="company" display="none">
                    <a href="/aziende/" class="panel-close" >
                        <div class="item-content">
                            <div class="item-media">
                                <i class="f7-icons ios-only">home</i>
                                <i class="material-icons md-only">home</i>
                            </div>
                            <div class="item-inner">
                                <div class="item-title">Company</div>
                            </div>
                        </div>
                    </a>    
                </li>

                <li id="users" display="none">
                    <a href="/users/" class="panel-close">
                        <div class="item-content">
                            <div class="item-media">
                                <i class="f7-icons ios-only">person</i>
                                <i class="material-icons md-only">account_circle</i>
                            </div>
                            <div class="item-inner">
                                <div class="item-title">Users</div>
                            </div>
                        </div>
                    </a>
                </li>

這是app.js

     {
        name: 'login',
        path: '/login/',
        url: './pages/login.html',
        on:{ 
                pageInit: function(){

                    app.navbar.hide('.navbar');
                    if(user.checkPermission() == 'true'){
                        app.router.navigate('/home/');

                        }
                    }
            },
    },
    {
        name: 'home',
        path: '/home/',
        url: './pages/home.html',
        on: {
            pageInit:   function(e, page) {

                            app.navbar.show('.navbar');
                             if(user.checkPermission() == 'true'){
                                addVoicesToNavbar();

                             }
                            }                                   
                            page.router.clearPreviousHistory();
                        }

        },
    }

這個方法說我不能設置null的屬性'display'

  function addVoicesToNavbar(){
      document.getElementById("company").display = "block";
      document.getElementById("users").display = "block";

   }

display不是有效的html屬性,它是CSS屬性。

因此,在示例中的<li>上設置display="none"不會執行任何操作。

相反,您需要在標記中設置一個這樣的內聯CSS樣式,以最初隱藏該元素:

<li id="users" style="display:none;">

然后在您的函數中更改內聯CSS樣式,如下所示:

document.getElementById("users").style.display = "block";

這是您可以做什么的示例:

 function addVoicesToNavbar(){
      companyElement = document.getElementById("company");
      companyElement.style.display = "block";

      ...
   }

希望能幫助到你!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM