2015-12-16 8 views
5

Oto HTMLJavaScript indeksowanie pętla problem

<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> 

Próbuję dodać numer w tagu p, który jest dzieckiem .progressButton. Potrzebuję tej liczby do zwiększenia z każdym tagiem p. Mam problemy z moją pętlą javascript. Zakładam, że problem jest przeszkodą .text (buttonNumber []); indeksuje. Jak rozwiązać ten problem?

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

Po pierwsze, jeśli chcesz dodać liczbę, dlaczego zainicjalizowałeś ButtonNumber jako String? A po drugie, co masz na myśli, nazywając ciąg z []? –

+0

Czy otrzymujesz od 1 do 12, a następnie od 123 itd.? – PSWai

+0

'buttonNumber' jest inicjalizowany jako' "" '. Dodanie do niego liczby całkowitej spowoduje połączenie ciągów. – thedarklord47

Odpowiedz

4

W rzeczywistości wcale nie potrzebujesz buttonNumber. Usuń je (linie 2 i 5), a następnie zmienić :

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

do:

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

W ten sposób uzyskuje się tylko długość tablicy. Zatem każdy znacznik p ma "15", ponieważ jest to całkowita liczba elementów w tablicy. – Tgrosk

+0

zobacz moją edycję. Dodałem poprawkę – thedarklord47

+0

Polecam jeszcze jedną edycję. ".eq (i-1) .text (i)", więc liczba zaczyna się od 1 zamiast 0. Ale dziękuję. – Tgrosk

0

Spróbuj startowych buttonNumber jako 0. Następnie użycie var do init I do swojej pętli for i następnie użyj buttonNumber.toString() zamiast buttonNumber []