javascript - 将选定的菜单选项移动到第一个位置

标签 javascript jquery

我有一个带有多个菜单项的顶部菜单栏。

$('.subpage_top_nav li').click(function(e) {
  e.preventDefault();
  $(this).parent().prepend(this);
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class='subpage_top_nav'>
  <ul>
    <li>
      <a href='#'>
        <center>All WildLife</center>
      </a>
    </li>
    <li>
      <a href='#'>
        <center>Kavango</center>
      </a>
    </li>
    <li>
      <a href='#'>
        <center>Northeast Greenland</center>
      </a>
    </li>
    <li>
      <a href='#'>
        <center>Pacific Remote</center>
      </a>
    </li>
    <li>
      <a href='#'>
        <center>Papahānaumokuākea </center>
      </a>
    </li>
  </ul>
</div>

我想将第一个值“All WildLife”始终保留在第二个位置吗?

示例:在页面加载时,“所有野生动物”出现在第一个位置,当我选择“东北格陵兰”时,“所有野生动物”出现在第二个位置,但当我单击“太平洋偏远地区”时,“所有野生动物”选项再次出现仍位于第二位,但第一个选项移至第三位,“Pacific Remote”移至第一位。

感谢您的帮助。

最佳答案

要实现您的要求,您可以将一个类添加到包含“All Wildlife”的li,然后先prepend(),然后再prepend () 单击的项目。这样,在做出选择后,它将始终出现在列表中的第二位。试试这个:

var $all = $('.subpage_top_nav li.all');

$('.subpage_top_nav li').click(function(e) {
  e.preventDefault();
  $(this).parent().prepend($all).prepend(this);
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class='subpage_top_nav'>
  <ul>
    <li class="all">
      <a href='#'>
        <center>All WildLife</center>
      </a>
    </li>
    <li>
      <a href='#'>
        <center>Kavango</center>
      </a>
    </li>
    <li>
      <a href='#'>
        <center>Northeast Greenland</center>
      </a>
    </li>
    <li>
      <a href='#'>
        <center>Pacific Remote</center>
      </a>
    </li>
    <li>
      <a href='#'>
        <center>Papahānaumokuākea </center>
      </a>
    </li>
  </ul>
</div>

关于javascript - 将选定的菜单选项移动到第一个位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57407767/

相关文章:

javascript - 如何将状态中的值作为参数传递给函数?

javascript - Mongoose 虚拟填充无限循环

javascript - ajax 调用后选项卡不工作

javascript - 悬停时仅显示一个叠加层

javascript - 是否可以在桌面通知正文javascript中显示图标

javascript - 什么可能导致 JavaScript 中的内存损坏?

javascript - 在响应式站点中垂直分布 div

javascript - 点击事件无法正常工作

javascript - 如何使用 jQuery 获取按钮类型按钮的值?

c# - ASP.NET 网页 -> 显示静态信息的最佳方式