首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使单击事件只影响父类的子类?

使单击事件只影响父类的子类?
EN

Stack Overflow用户
提问于 2016-05-25 21:29:16
回答 3查看 709关注 0票数 0

我正试图为我的网站创建一个可扩展的搜索过滤器列表。每个类别都有子类别。我使用的引导带,所以我选择使用自定义版本的BS手风琴。我有它,所以当您单击“父”类别时,父项旁边的字体"plus“图标将变成”减号“,显示折叠的w列表作为下一个操作(通常所见)。

例如,

代码语言:javascript
复制
+Computers

+Phones

-Tablets

   Android Tablets

   Windows Tablets

   Apple iPads

问题是,如果你按一下平板电脑来展开它,就像我上面的例子所示,然后再点击它来折叠平板电脑的列表,它会把所有其他父母手风琴列表的图标都切换到减号,即使它们被折叠了。

这里是我的jquery:

代码语言:javascript
复制
$('.categories').click(function(){
var collapsed=$(this).find('i').hasClass('fa-plus-square-o');

$('.categories').find('i').removeClass('fa-minus-square-o');

$('.categories').find('i').addClass('fa-plus-square-o');
if(collapsed)
    $(this).find('i').toggleClass('fa-plus-square-o fa-minus-square-o')
});

我觉得必须有一个更好的解决方案,而不是我试图让它发生。我是否可以编写jquery,只影响实际单击的元素,而不必使用大量的ID和过多的jquery来解释每个ID?我觉得每个列表的新ID可能会变得非常混乱,因为我们可能有30+可扩展列表,更不用说在主列表中可能有一个子列表(试图考虑任何可能性并使其可伸缩,因为这些类别将是动态的,而不是硬编码的)如下:

代码语言:javascript
复制
-Tablets

  -Android Tablets

    +Asus Tablets

    +Nvidia Tablets

    -Nexus Tablets

        Nexus 7"

        Nexus 10"

    +HTC Tablets
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2016-05-25 21:44:59

为了保持简单:

代码语言:javascript
复制
$('.categories').click(function(){
  $(this).toggleClass('fa-plus-square-o').toggleClass('fa-minus-square-o')
});
票数 1
EN

Stack Overflow用户

发布于 2016-05-25 21:32:22

尝试在li上切换类,并根据活动类的不同将li: with与内容:"-“或内容:"+”进行样式设置。

票数 0
EN

Stack Overflow用户

发布于 2016-05-25 21:45:58

我认为在您提供的代码中,而不是:

代码语言:javascript
复制
$('.categories').find('i').addClass('fa-plus-square-o');

你应该使用:

代码语言:javascript
复制
$(this).find('i').addClass('fa-plus-square-o');

你可以这样做:

jQuery:

代码语言:javascript
复制
$('.categories').on('click', function() {
    var elm = $(this).find('.subcategories');
    var hasClass = elm.hasClass('activeSub');
    $('.activeSub').removeClass('activeSub');
    if(!hasClass)
        elm.addClass('activeSub');
});

JSFIDDLE

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37447933

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档