JQuery是否有可能在ul元素为空时显示消息并隐藏在item上'添加
JQuery is it possible to show message when ul element is empty and hide on items' add?
问题在标题中。我有一个没有列表项的ul元素,我需要显示一条消息(它可以是一个li元素),用户可以在其中看到列表为空。一旦项目被添加到ul中,消息就应该被隐藏或删除。
列表可以动态更新,所以如果有人删除了ul中包含的所有li元素,它应该再次显示消息。
我有这个,但只在页面加载时显示消息:
if( !$("#minuta_minuta_participante_list_ul").has("li").length ) {
$("#minuta_minuta_participante_list_ul").html("Sorry, this is empty");
}
对不起,如果问题是贫穷的。
您可以使用CSS空和之前,不需要JavaScript添加/删除消息。
ul:empty:before {
content: "I am empty"
}
<h3>Empty</h3>
<ul></ul>
<h3>Not Empty</h3>
<ul><li>li</li></ul>
如果你想使用jquery,你必须知道列表中有多少元素。@epascarello的答案更简洁,更美观。
$(function() {
var count = 0;
if ($('#list li').length == 0) {
$('#list').append('<div id="mssg">Empty List</div>');
}
$('#add').on('click', function() {
if (count == 0) {
$('#mssg').remove();
}
$('#list').append('<li id="element-' + count + '">List Element ' + count + '</li>');
count++;
});
$('#remove').on('click', function() {
if (count > 0) {
$('#element-' + (count - 1)).remove();
count--;
}
if (count == 0 && $('#mssg').length == 0) {
$('#list').append('<div id="mssg">Empty List</div>');
}
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul id='list'>
</ul>
<input type='button' value='Add' id='add' />
<input type='button' value='Remove' id='remove' />
相关文章:
- 在单击任何位置时隐藏元素,而不检查每次DOM单击
- 显示5秒后隐藏潜水
- 在不使用JQuery的情况下隐藏DOM中的选定元素
- 剑道UI内联编辑:如何在点击其他按钮时隐藏按钮
- 浮动页脚栏-使用Bootstrap隐藏
- 在jquery中为显示/隐藏设置cookie
- 单击按钮后如何逐个调用分区,上一个分区将隐藏
- 从var向代码隐藏函数传递值
- Image赢得't隐藏在滚动jQuery上
- 具有rowGrouping的数据表无法隐藏列
- Jquery隐藏未触发
- JavaScript 检查隐藏字段中的值并将其设置为隐藏字段值
- 分部隐藏在jquery中不起作用
- 点击后隐藏潜水?(但如果Div是一面旗帜呢?)
- javascript.点击隐藏事件故障
- 禁用(而不是隐藏)浏览器滚动条
- PHP Javascript显示/隐藏按钮不工作
- 在mvc应用程序中,在回发时保留最初隐藏的文本框的隐藏或可见状态
- JQuery是否有可能在ul元素为空时显示消息并隐藏在item上'添加
- 用JS将list-group-item从隐藏变为可见