使用jQuery更有效地隐藏/显示
More efficient hiding/showing with jQuery?
是否有更有效的方法来编写以下脚本?它所做的只是更新一个项目的计数,然后根据它找到的数量显示该计数的单数或复数文本。
代码似乎说"显示这个并隐藏这个,除非相反,然后隐藏这个并显示那个"是多余的。难道不应该有一种方法来传递一个布尔值,从而显示或隐藏它吗?
var includedCount = $("#services").find("tbody tr td:nth-child(1) :checkbox:checked").length;
var requiredCount = $("#services").find("tbody tr td:nth-child(2) :checkbox:checked").length;
$("#js-included-num").html(includedCount);
if(includedCount === 1){
$("#js-included-plural").hide();
$("#js-included-singular").show();
}else{
$("#js-included-plural").show();
$("#js-included-singular").hide();
}
$("#js-required-num").html(requiredCount);
if(requiredCount === 1){
$("#js-required-plural").hide();
$("#js-required-singular").show();
}else{
$("#js-required-plural").show();
$("#js-required-singular").hide();
}
将其放入一个函数中,类似于:
function togglePlural(baseSelectorName,count) {
var p = $(baseSelectorName+'-plural'), s = $(baseSelectorName+'-singular');
(count === 1 ? s : p).show();
(count === 1 ? p : s).hide();
// or use toggle()
}
您可以检查toggle方法
http://api.jquery.com/toggle/如果元素是可见的,它将隐藏它,否则它将显示它
相关文章:
- 在jquery中为显示/隐藏设置cookie
- PHP Javascript显示/隐藏按钮不工作
- 打开/关闭按钮以显示/隐藏内容
- 显示隐藏复选框
- 在bootstrap中显示隐藏特定的li
- JQuery上下文菜单显示/隐藏问题
- JQuery在单击时停止显示/隐藏
- HTML5在提交并显示所需标签后显示隐藏的表单元素
- 使用 jQuery 切换显示/隐藏
- 显示/隐藏有关模型更改的指令内容
- Bootstrap在页面加载缓慢时会立即显示隐藏的模式对话框
- 根据特定条件使用ng显示/ng隐藏来显示/隐藏元素
- 显示/隐藏不起作用
- 使用ng-hide根据条件显示/隐藏按钮
- 仅在第一个结果中显示/隐藏MySQL结果函数
- 显示/隐藏http://ftp链接
- 在显示/隐藏中单击时删除的文本
- 是否可以在不重新渲染的情况下显示/隐藏父对象中的元素
- 将页面内容向左移动时显示/隐藏右侧面板
- 显示/隐藏将不会加载