javascript /jQuery - For Loop

19

I have a query ajax response which I then use to set the array variables. Is there anyway to use a 'For Loop' to change to #name so that I don't have to write out a line of code to set each array element.

array[0]=$('#event00',response).html();
array[1]=$('#event01',response).html();
array[2]=$('#event02',response).html();
array[3]=$('#event03',response).html();

So '#event00' could be used in a for loop to change to '#event01' etc

This question is tagged with javascript jquery loops for-loop

~ Asked on 2012-02-29 20:34:25

The Best Answer is


45

Use a regular for loop and format the index to be used in the selector.

var array = [];
for (var i = 0; i < 4; i++) {
    var selector = '' + i;
    if (selector.length == 1)
        selector = '0' + selector;
    selector = '#event' + selector;
    array.push($(selector, response).html());
}

~ Answered on 2012-02-29 20:37:21


8

What about something like this?

var arr = [];

$('[id^=event]', response).each(function(){
    arr.push($(this).html());
});

The [attr^=selector] selector matches elements on which the attr attribute starts with the given string, that way you don't care about the numbers after "event".

~ Answered on 2012-02-29 21:13:12


Most Viewed Questions: