[英]How to show and hide list items(li) elements inside unordered list(ul) using jquery(preferably)?
HTML文件中的无序列表:
<ul class="navbar-nav ml-auto" id="authorization">
<li class="nav-item" class="authorizationLink">
<a class="nav-link" href="registration.html">Registration</a>
</li>
<li class="nav-item" class="authorizationLink">
<a class="nav-link" href="login.html">Login</a>
</li>
<li class="nav-item dropdown" id="usernameDropdown" style="display: none">
<a class="nav-link dropdown-toggle" href="#" id="navbarDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
</a>
<div class="dropdown-menu" aria-labelledby="navbarDropdown">
<a class="dropdown-item" href="#">Profile</a>
<div class="dropdown-divider"></div>
<a class="dropdown-item" href="#">Logout</a>
</div>
</li>
</ul>
<button id="someButton">button</button>
and to show the list item with on the click of a button. 我想通过单击按钮隐藏带有的列表项,并显示带有的列表项。 到目前为止,我已经尝试过了:
$( document ).ready(function() {
$("#someButton").click(function() {
$(".authorizationLink").hide();
$("#usernameDropdown").show();
})
}
我已经尝试了其他几件事,其中一种解决方案有时可以工作,但大多数时候都无法工作。 有没有一种方法可以使用jQuery? 也许有一些CSS技巧或其他?
您的逻辑很好,您只是有一些语法错误。
将class="nav-item" class="authorizationLink"
更改为class="nav-item authorizationLink"
。 每个元素只能有一个class
属性。
您在jQuery代码的末尾缺少)
。
HTML元素只能具有一个class
属性。 如果有更多类,请将它们组合在同一字符串中,并用空格分隔。 另外,您还需要jQuery $(document).ready()
的后缀。
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css"> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js"></script> <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js"></script> <ul class="navbar-nav ml-auto" id="authorization"> <li class="nav-item authorizationLink"> <a class="nav-link" href="registration.html">Registration</a> </li> <li class="nav-item authorizationLink"> <a class="nav-link" href="login.html">Login</a> </li> <li class="nav-item dropdown" id="usernameDropdown" style="display: none"> <a class="nav-link dropdown-toggle" href="#" id="navbarDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> </a> <div class="dropdown-menu" aria-labelledby="navbarDropdown"> <a class="dropdown-item" href="#">Profile</a> <div class="dropdown-divider"></div> <a class="dropdown-item" href="#">Logout</a> </div> </li> </ul> <button id="someButton">button</button> <script> $( document ).ready(function() { $("#someButton").click(function() { $(".authorizationLink").hide(); $("#usernameDropdown").show(); }) }); </script>
在这里,只需更改设置class属性的方式即可。 代替具有2个类属性,将值组合到相同的字符串中。
$( document ).ready(function() { $("#someButton").click(function() { $(".authorizationLink").hide(); $("#usernameDropdown").show(); }); });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <ul class="navbar-nav ml-auto" id="authorization"> <li class="nav-item authorizationLink"> <a class="nav-link" href="registration.html">Registration</a> </li> <li class="nav-item authorizationLink"> <a class="nav-link" href="login.html">Login</a> </li> <li class="nav-item dropdown" id="usernameDropdown" style="display: none"> <a class="nav-link dropdown-toggle" href="#" id="navbarDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> </a> <div class="dropdown-menu" aria-labelledby="navbarDropdown"> <a class="dropdown-item" href="#">Profile</a> <div class="dropdown-divider"></div> <a class="dropdown-item" href="#">Logout</a> </div> </li> </ul> <button id="someButton">button</button>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.