2013-01-22 73 views
0

使用clone(rue,false).inject('myList','top')當'top'是where字符串時顛倒項目順序。必須有一個優雅的方式來排序呢?我的方法錯了嗎?mootools clone()注入('top')顛倒元素順序

<!DOCTYPE html> 
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-gb" xml:lang="en-gb"> 
<head> 
    <meta http-equiv="content-type" content="text/html; charset=utf-8" /> 
    <script type="text/javascript" src="js/moo.1.4.5/core.js"></script> 
    <script type="text/javascript"> 
     window.addEvent('domready', function() { 


      $('myList').getChildren().each(function (el, i) { 
       el.clone(true, false).addClass('clone').inject('myList', 'top'); 
       el.clone(true, false).addClass('clone').inject('myList', 'bottom'); 
      }) ; 


     }); 
    </script> 
</head> 
<body> 
    <ul id="myList"> 
     <li><p>Slide 1</p></li> 
     <li><p>Slide 2</p></li> 
     <li><p>Slide 3</p></li> 
     <li><p>Slide 4</p></li> 
     <li><p>Slide 5</p></li> 
    </ul> 
</body> 
</html> 

回報

<ul id="myList"> 
    <li class="clone"><p>Slide 3</p></li> 
    <li class="clone"><p>Slide 2</p></li> 
    <li class="clone"><p>Slide 1</p></li> 
    <li><p>Slide 1</p></li> 
    <li><p>Slide 2</p></li> 
    <li><p>Slide 3</p></li> 
    <li class="clone"><p>Slide 1</p></li> 
    <li class="clone"><p>Slide 2</p></li> 
    <li class="clone"><p>Slide 3</p></li> 
</ul> 

回答

0

取決於你的目標。如果你的目標是克隆的名單,並在頂部注入它,你可以做到這一點沿着你目前的思路:

http://jsfiddle.net/dimitar/xNWrM/

var list = $('myList'), 
    lis = list.getElements('li'); 

lis.reverse().each(function(el){ 
    el.clone(true, true).addClass('clone').inject(list, 'top'); 
}); 

有可能是一個更優雅的方式注入到克隆它們在循環它們之前先前注入的元素之後,這將保存Elements.reverse調用。

+0

謝謝.reverse()可能會非常有用,即時仍需要lst.each()兩次。 – method7

0

看看你在做什麼... inject('top')。列表的頂部始終是相同的位置 - 列表的頂部。

e.g

1 2 3   <--original 
1 1 2 3  <--clone 1 + insert top 
2 1 1 2 3  <--clone 2 + insert top 
3 2 1 1 2 3 <--clone 3 + insert top 

你必須在你想克隆塊年底開始,向後以你的方式:

1 2 3   <--original 
3 1 2 3  <--clone 3 + insert top 
2 3 1 2 3  <--clone 2 + insert top 
1 2 3 1 2 3 <--clone 1 + insert top 
+0

是馬克我明白原因,我只是努力工作了一個優雅的方式扭轉$('myList')。感謝您的幫助Dimitar在下面提供了這個。 – method7