.Each有时候不会在jquery中工作

时间:2017-05-03 11:10:07

标签: jquery html-lists each

我在网站的母版页上有一个菜单,我想在每个页面上突出显示所选菜单。我需要遍历菜单项以获取其页面打开的菜单,但在某些页面中,每个功能都不会进入循环!!

为什么?



$(document).ready(function() {
  debugger;
  var url = window.location;
  var oldURL = document.referrer;
  $('.navbar-collapse ul.nav li a').each(function() {

    if (this.href == oldURL) {
      $('.navbar-collapse .nav').find('.active').removeClass('active');
      $(this).parent().addClass('active');
    }

    if (this.href == url) {
      $('.navbar-collapse .nav').find('.active').removeClass('active');
      $(this).parent().addClass('active');
      return false;
    }

  });
});

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
  <ul class="nav navbar-nav">
    <li class="dropdown">
      <a href="../Forms/DefaultMain.aspx">صفحه اصلی </a>
    </li>
    <li class="dropdown">
      <a href="#" class="dropdown-toggle">rr<b class="caret"></b></a>
      <ul class="dropdown-menu">
        <li><a href="../Forms/HotelProduct.aspx">tt</a></li>
        <li><a href="../Forms/CommunicationProduct.aspx">ll</a></li>
      </ul>
    </li>
    <li class="dropdown">
      <a href="../Forms/OurCustomers.aspx" class="dropdown-toggle">mm</a>
    </li>

    <li class="dropdown">
      <a href="../Forms/ContactUs.aspx" class="dropdown-toggle">jj </a>
    </li>
  </ul>
</div>
&#13;
&#13;
&#13;

1 个答案:

答案 0 :(得分:0)

您不需要循环,使用href属性查找您的项目并切换为其激活的类

$('.navbar-collapse .nav .active').removeClass('active');
$('.navbar-collapse ul.nav li a[href="'+url+'"]').parent().addClass('active');