将多个函数转换为一个在jquery中执行相同操作的函数

Converting multiple functions into one that perform same action in jquery

提问人: 提问时间:2/13/2019 更新时间:2/13/2019 访问量:20

问:

我有一个简单的,我正在尝试所有项目,当列表中的另一个项目展开时,目前我做了 5 个来做到这一点,每个级别都有单独的功能。这是我到目前为止所做的:html multi-level nested listauto-collapsefunctions

$(document).ready(function () {

$('#tree > li').click(function () {
    $('li').not(this).each(function () {
        $(this).children('ul').hide('fast');
        $(this).children('span').removeClass('explr-minus');
    });
});

$('ul#tree > li > ul > li').click(function () {
    $('ul#tree > li > ul > li').not(this).each(function () {
        $(this).children('ul').hide('fast');
        $(this).children('span').removeClass('explr-minus');
    });
});

$('ul#tree > li > ul > li > ul > li').click(function () {
    $('ul#tree > li > ul > li > ul > li').not(this).each(function () {
        $(this).children('ul').hide('fast');
        $(this).children('span').removeClass('explr-minus');
    });
});

$('ul#tree > li > ul > li > ul > li > ul > li').click(function () {
    $('ul#tree > li > ul > li > ul > li > ul > li').not(this).each(function () {
        $(this).children('ul').hide('fast');
        $(this).children('span').removeClass('explr-minus');
    });
});

$('ul#tree > li > ul > li > ul > li > ul > li > ul > li').click(function () {
    $('ul#tree > li > ul > li > ul > li > ul > li > ul > li').not(this).each(function () {
        $(this).children('ul').hide('fast');
        $(this).children('span').removeClass('explr-minus');
    });
  });
});

我想知道是否有任何方法可以创建一个适用于嵌套列表的每个级别的函数?

jQuery html-lists 嵌套列表

评论

0赞 CertainPerformance 2/13/2019
是否有任何您不想运行它的后代?li#tree
0赞 2/13/2019
我想在 s 的每个级别上运行它li#tree
1赞 Mohamed-Yousef 2/13/2019
try 和$('#tree li').click(....$(this).siblings('li').each(....
0赞 2/13/2019
@Mohamed-Yousef 谢谢,它正在工作。
0赞 Mohamed-Yousef 2/13/2019
完全欢迎@JohnDoe..祝你有美好的一天:)

答: 暂无答案