使用jQuery

时间:2017-03-15 10:14:35

标签: jquery

某些链接有下拉组。这是他们的一部分:

如果li在level-1下有active-item类,那么我尝试用open-item替换parent li的close-item。

这是jquery代码。



$(document).ready(function() {

  $('.active-item').parent('li').addClass('open-item').removeClass('close-item');
});

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<li class="has-child-item close-item">
  <a><i class="fa fa-cubes" aria-hidden="true"></i><span>İstasyon Ayarları</span></a>
  <ul class="nav child-nav level-1">
    <li class="active-item"><a href="{{url('/istasyonlar')}}">İstasyon Listesi</a></li>
    <li><a href="{{url('/istasyonlar/ekle')}}">Yeni İstasyon Tanımlama</a></li>
  </ul>
</li>
&#13;
&#13;
&#13;

但它没有用。

4 个答案:

答案 0 :(得分:3)

.active-item不是li的父级,它是li,你想要:

//  RCTWebViewManager.m

#import "RCTUIWebViewManager.h"
#import "RCTUIWebView.h"

@implementation RCTUIWebViewManager

RCT_EXPORT_MODULE()

RCT_EXPORT_VIEW_PROPERTY(url, NSString);

- (UIView *)view
{

  RCTUIWebView *rctuiwebview = [[RCTUIWebView alloc] init];
  return rctuiwebview;

}

@end

答案 1 :(得分:1)

使用closest()

  

nearest()选择与选择器匹配的第一个元素   DOM树。

仅供参考parent()

  

parent()从DOM树中选择一个元素。

<强>解决方案

&#13;
&#13;
$(document).ready(function() {
  $('.active-item').closest('li.has-child-item').toggleClass('open-item close-item');
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<li class="has-child-item close-item">
  <a><i class="fa fa-cubes" aria-hidden="true"></i><span>İstasyon Ayarları</span></a>
  <ul class="nav child-nav level-1">
    <li class="active-item"><a href="{{url('/istasyonlar')}}">İstasyon Listesi</a></li>
    <li><a href="{{url('/istasyonlar/ekle')}}">Yeni İstasyon Tanımlama</a></li>
  </ul>
</li>
&#13;
&#13;
&#13;

答案 2 :(得分:1)

也许试试这个:

$('.active-item').parents().closest('li').addClass('open-item').removeClass('close-item');

它会改变最接近的李

答案 3 :(得分:0)

.active-item的父级是UL而不是LI。您正在寻找的LI是该父母的父母。