2017-01-06 71 views
3

您好,我有這個javascript。更改循環結果以顛倒順序在JavaScript/Jquery

<html> 
    <div> 
     <li class="class0 class1" data-slide-to="0">Start</li> 
    </div> 
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script> 
    <script> 
    var i; 
     for(i=0; i<3; i++){ 
      $(".class1").after("<li Class='class0' data-slide-to='"+i+"'>"+i+"</li>"); 
     } 
     </script> 
</html> 

,我得到了出來把儘可能

Start 
3 
2 
1 
0 

但我想要得到這樣的結果在下面的順序

start 
0 
1 
2 
3 

我怎麼弄來的?如何恢復的結果呢?

+0

這個循環將輸出'0,1,2' – Ionut

+0

選擇的'最後一個元素.class0' using' $ (「.class0:last」)。append('target html')' – Mohammad

+2

回答指定的問題「for for循環」... for(i = 3; i> = 0; i - ){ –

回答

2

由於您使用的是after()方法,因此它會追加li之後。所以得到父項並追加元素。儘管您需要更新條件才能生成4元素,並且您的HTML無效,但li應該是ulol的子項。

<html> 
 
<div> 
 
    <ul> 
 
    <li class="class0 class1" data-slide-to="0">Start</li> 
 
    </ul> 
 
</div> 
 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script> 
 
<script> 
 
    var i; 
 
    for (i = 0; i < 4; i++) { 
 
    $(".class1").parent().append("<li Class='class0' data-slide-to='" + i + "'>" + i + "</li>"); 
 
    } 
 
</script> 
 

 
</html>


或者以相反的順序geneate元件。

<html> 
 
<div> 
 
    <ul> 
 
    <li class="class0 class1" data-slide-to="0">Start</li> 
 
    </ul> 
 
</div> 
 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script> 
 
<script> 
 
    var i = 4; 
 
    while (i--) { 
 
    $(".class1").parent().append("<li Class='class0' data-slide-to='" + i + "'>" + i + "</li>"); 
 
    } 
 
</script> 
 

 
</html>

+1

'<= 3'來獲得所需的輸出:p(或<4,如你所說:p) –

+0

@JaromandaX:更新了 –

+0

那c絞死for循環好吧:p –

2

更改您的腳本工作周圍的其他方法。因此,開始在3,當你在0止損:

<script> 
    var i; 
    for(i=3; i>0; i--){ 
     $(".class1").after("<li Class='class0' data-slide-to='"+i+"'>"+i+"</li>"); 
    } 
    </script> 
0
<html> 
<div> 
    <li class="class0 class1" data-slide-to="0">Start</li> 
</div> 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script> 
<script> 
var i; 
    for(i=3; i>=3; i--){ 
     $(".class1").after("<li Class='class0' data-slide-to='"+i+"'>"+i+"</li>"); 
    } 
    </script>