用jQuery反转子元素

时间:2016-04-18 19:55:11

标签: javascript jquery html

我需要使用已定义的类重新排序一些子元素,并维护没有该类的其他子元素的旧顺序。我有其他子元素

代码 - html

<ul class="menu_dinamico">   
<li class="reverseMenu"><a href="#">Item 1</a></li>
 <li class="reverseMenu">Item 2</li>
      <ul>
      <li>item 2.1</li>
      <li>item 2.2</li>
        </ul>
 <li class="reverseMenu">Item 3</li>
 <li class="reverseMenu">Item 4</li>
 <li>Item 4.5</li>
 <li>Item 5</li> </ul>

代码 - javascript

$.fn.reverse = [].reverse;
var list = $('.menu_dinamico');
var listItems = list.children('.reverseMenu');
list.prepend(listItems.get().reverse());

结果

  • 第4项
  • 第3项
  • 第2项
  • item 1
  • 第2.1项
  • 第2.2项
  • 第4.5项
  • 第5项

结果需要

  • 第4项
  • 第3项
  • 第2项
    • 第2.1项
    • 第2.2项
  • item 1
  • 第4.5项
  • 第5项

P.s:我必须维护链接,属性等html结构。

任何线索?谢谢!

修改

在@bubicsaszar回复后,我意识到我的问题是不完整的,因为我的列表可以有无限的子列表,并且必须保留它们的结构。

1 个答案:

答案 0 :(得分:1)

试试这个,如果常量项总是在列表的末尾:

$.fn.reverse = [].reverse;
var list = $('.menu_dinamico');
var listItems = list.children('.reverseMenu');
list.prepend(listItems.get().reverse());