jQuery选择所有兄弟姐妹和孩子除了自我

时间:2015-06-30 05:11:36

标签: javascript jquery

我要做的是复制一个手风琴类型的jQuery小部件

我有以下代码:

$('a').on('click', function (e) {
  var active = $(this).parent().next();
  active.toggleClass('active');
  active.siblings().not(active).removeClass('active');
  e.preventDefault();
});

虽然active.siblings()。not(active).removeClass('active');不起作用 我希望它如何做我基本上希望它选择所有兄弟姐妹UL标签和兄弟姐妹的任何儿童UL标签,但不包括主动/当前选择。

我已将此小提琴设为http://jsfiddle.net/7u3pw1hz/

1 个答案:

答案 0 :(得分:6)

问题是,其他@Configuration @EnableWebMvc public class WebMvcConfig extends WebMvcConfigurerAdapter{ @Override public void configureDefaultServletHandling(DefaultServletHandlerConfigurer configurer) { configurer.enable(); } @Override public void configureMessageConverters( List<HttpMessageConverter<?>> converters) { converters.add(new MappingJackson2HttpMessageConverter()); } @Override public void addResourceHandlers(ResourceHandlerRegistry registry) { registry.addResourceHandler("/resources/**").addResourceLocations("/resources/"); } @Bean public InternalResourceViewResolver viewResolver() { InternalResourceViewResolver resolver = new InternalResourceViewResolver(); resolver.setPrefix("/WEB-INF/views/"); resolver.setSuffix(".jsp"); return resolver; } } 元素不是兄弟元素,它们是当前ul的兄弟li元素的子元素

li
$('a').on('click', function(e) {
  var active = $(this).parent().next();
  active.toggleClass('active');
  active.parent().siblings().children('ul').removeClass('active');
  active.find('ul').removeClass('active');
  e.preventDefault();
});
ul ul.active {
  max-height: 800px;
}
ul ul {
  max-height: 0;
  overflow: hidden;
}