尝试使用jQuery独立显示/隐藏多个列表
Trying to use jQuery to show/hide multiple lists independently
我有一个网页,我试图在默认情况下隐藏额外的信息。这些额外的部分采用项目列表的形式,我希望用户能够通过单击JavaScript链接来显示或隐藏这些列表。
最初,我使用以下代码:http://jsfiddle.net/4Yk39/2/
jQuery(document).ready(function() {
jQuery('.bhlink').click(function(){
jQuery('ul.billhistory').slideToggle();
});
});
…它工作得很好,除了点击页面上的任何JavaScript链接导致所有列表出现或消失,这不是我想要的。我只希望在点击JavaScript链接时,它下面的列表滑出。换句话说,我需要列表独立地出现或消失。
我现在正在使用的代码(来自另一个StackOverflow问题的答案)在这里:http://jsfiddle.net/smZct/
$(document).ready(function () {
$(".billhistory").slideUp();
$(".bhlink").click(function() {
var billhistory = $(this).closest("p").find(".billhistory");
var txt = billhistory.is(':visible') ? 'Click to view' : 'Click to hide';
$(this).text(txt);
billhistory.stop(true, true).slideToggle("slow");
});
});
据我所知,一切都设置正确,但是当我点击链接以显示列表时,链接变为"隐藏",但列表实际上并没有出现。
我做错了什么?
jQuery(document).ready(function($) {
$('.bhlink').on('click', function () {
$(this).text(function (i, txt) {
return txt.indexOf('view') != -1 ? 'Click to hide' : 'Click to view';
}).closest('p').next('.billhistory').slideToggle();
});
});
小提琴
您需要使用next而不是find作为文本块:
var billhistory = $(this).closest("p").next(".billhistory");
相关文章:
- 单击隐藏列表样式
- 动态隐藏列表中的元素,而隐藏的元素不会占用页面上的空白空间
- 如何在 JavaScript 中获取隐藏列表的值
- 使用“显示更多”按钮隐藏列表项
- javascript循环需要显示隐藏列表onclick一次一个
- AngularJS动画-首先隐藏列表
- Jquery在第n项之后显示隐藏列表项,不处理ajax加载的内容
- 显示和隐藏列表项
- 如果css/jquery为空,则隐藏列表元素
- 如何显示/隐藏列表项目中的项目MVVM剑道
- JQuery隐藏列表项超过5个代码问题
- 隐藏列表项目在角离子中继器
- 显示和隐藏列表项的最佳方式
- 隐藏和取消隐藏列表的元素JavaScript/HTML
- 如何使用jquery分别使用interval显示/隐藏列表项
- 如何使用两个按钮调用和隐藏列表-使用Javascript HTML CSS
- 隐藏列表项基于布尔值true false jsp
- 隐藏列表元素,如果他们离开屏幕
- 如何从页面上的多个列表中应用截断/隐藏列表项
- 使用JQuery隐藏列表项的值