UL LI点击正在隐藏UL
UL LI click is hiding the UL
我正在尝试制作一个UL LI列表,这样当单击单词"list"时,LI元素就会显示出来,反之亦然。但是,如果单击LI,则整个列表将再次隐藏。我想这样做,如果点击LI,它不会隐藏我的列表,因为我想稍后添加LI点击的功能。
这是有问题的代码:
<!DOCTYPE html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<style type="text/css">
ul {
list-style-type: none;
margin: 0;
padding: 0;
cursor: pointer;
}
ul li {
display: none;
}
ul li:before{ content:"- ";}
</style>
<script type="text/javascript">
window.onload = function() {
$('ul').click(function(){
if ($('ul > li').css('display') == 'none') {
$('ul > li').show();
}
else {
$('ul > li').hide()
}
});
}
</script>
</head>
<body>
<ul>
List
<li>1234</li>
<li>5678</li>
<li>0123</li>
</ul>
</body>
</html>
如上所述,不能像那样将文本粘贴在ul
中。ul
中应该只有li
元素。更干净的方法是这样的,它显示并隐藏ul
元素,而不是使用ul
外部的控件隐藏其中的所有li
。
正如下面所指出的,还有一种更好的方法来处理这一切,以确保您不会处理页面上的每个ul
。通过使用类选择器和内置的jquery函数。
Fiddle:https://jsfiddle.net/erjfghf0/
HTML:
<a class="showHideLink">List</a>
<ul class="showHideList">
<li>1234</li>
<li>5678</li>
<li>0123</li>
</ul>
JS:
$('.showHideLink').click(
function (event) {
$(this).next('.showHideList').toggle();
}
);
CSS:
ul {
display: none;
}
由于UL没有任何内容可呈现,由于所有LI都被隐藏,因此需要在其他内容上呈现事件操作。以下是我的建议:https://jsfiddle.net/Twisty/LL948r6f/
HTML
List (<a href="#" id='toggleLink'>Toggle</a>)
<ul>
<li>1234</li>
<li>5678</li>
<li>0123</li>
</ul>
CSS
ul {
list-style-type: none;
margin: 0;
padding: 0;
cursor: pointer;
}
ul li {
display: none;
}
ul li:before {
content: "- ";
}
JQuery
$(function() {
$('#toggleLink, ul').click(function() {
console.log("List Items display: " + $('ul li').css('display'));
if ($('ul li').css('display') == 'none') {
$('ul li').show();
} else {
$('ul li').hide();
}
});
});
相关文章:
- 在JQuery中隐藏和显示ul中的特定元素
- 隐藏/显示包含单词的ul li项目.但只能入住李的子女
- HTML/jQuery点击显示/隐藏ul
- 如何在应用切换点击功能之前,默认情况下在页面加载时隐藏带有特定类的ul-li
- 使用jquery显示/隐藏html ul
- 如果下一个ul是隐藏的,想要显示下一个ul
- 当在 Ul 上使用向上/向下箭头到达溢出自动项目的顶部/底部时显示隐藏的项目
- UL LI点击正在隐藏UL
- 在jquery中隐藏ul-li输入文本
- 单击时隐藏子导航UL
- 当父级溢出隐藏时,绝对定位UL
- 如果选中,则显示/隐藏UL子项
- 在响应网站中显示/隐藏移动设备的ul
- 制作一些'李'在ul可见和隐藏他人
- 加载时隐藏ul元素,点击时显示
- 显示/隐藏ul中的li元素
- 隐藏包含ul + print的子td的tr
- 获取ul的值到不隐藏的变量中
- JQuery是否有可能在ul元素为空时显示消息并隐藏在item上'添加
- 将鼠标悬停在li上后,在元素周围形成一个框,以显示隐藏的ul