2015-12-16 24 views
5

這裏的的Javascript環路索引問題

<li class="carousel-btn-wrapper"> 
    <div class="progressButton"> 
    <p></p> 
    </div> 
    <button class="videoCaroselButton">Welcome</button> 
</li> 
<li class="carousel-btn-wrapper"> 
    <div class="progressButton"> 
    <p></p> 
    </div> 
    <button class="videoCaroselButton">Video Name</button> 
</li> 
<li class="carousel-btn-wrapper"> 
    <div class="progressButton"> 
    <p></p> 
    </div> 
    <button class="videoCaroselButton">Another Video Name</button> 
</li> 

我試圖在P標記,是.progressButton的孩子添加一些的HTML。我需要用每個p標籤增加數字。我的問題與我的JavaScript循環。我假設這個問題在.text(buttonNumber []);正在索引。我該如何解決這個問題?

var videoSrcArray = ['url.com/adf', 'url.com/asf', 'url.com/sdf', 'url.com/asdf','url.com/asdfl'] 
var buttonNumber = ""; 
var i; 
for (i = 1; i < videoSrcArray.length - 1; i++) { 
    buttonNumber += i ; 
    $('.progressButton').children('p').text(buttonNumber[1]); 
} 
+0

首先,如果你想添加一個數字,你爲什麼初始化buttonNumber爲String?第二個是什麼意思,用[]調用一個字符串? –

+0

你得到1然後12然後123等? – PSWai

+0

'buttonNumber'正在初始化爲'「」'。向它添加一個整數將導致連接字符串。 – thedarklord47

回答

4

實際上根本不需要buttonNumber。刪除它(線2和5) ,然後改變:

$('.progressButton').children('p').text(buttonNumber[1]); 

到:

$('.progressButton').children('p').eq(i-1).text(i); 
+0

這樣做只會獲得數組的長度。因此,每個p標籤中都有「15」,因爲這是數組中的項目總數。 – Tgrosk

+0

看到我的編輯。我添加了一個修復 – thedarklord47

+0

我會推薦一個更多的編輯。 「.eq(i-1).text(i)」,所以它的數字從1開始而不是0,但是謝謝。 – Tgrosk

0

嘗試初始化buttonNumber爲0 然後,利用VAR來初始化的我你的循環,然後用buttonNumber.toString()代替buttonNumber []