Question

Is there a way to access all the object instances starting with a common string.

Example: I have instances named button64, button223, button856471, button229846, etc. I have no control over how these instances are named. I want to push all these in an array.

I am not creating these objects, I just have to write a javascript which sits in this HTML page and collects all the object instances starting with the string 'button'.

The purpose is to reach out to a desired object out of these and change the visual element.

Also, the solution has to be compatible with IE8. Any ideas about how should I iterate?

No correct solution

OTHER TIPS

If you can use jQuery, you could write:

var buttonsArray = [];

$("div").each(function() {
    var id = $(this).attr("id");

    if (id && id.indexOf("button") == 0) {
        buttonsArray.push($(this));
    }
});

You can use regular expressions to find any expression matching the pattern. Using the match method, every instance of the pattern is returned as an array.

var str = document.getElementById("sample");
var arr = string.match(/button[\d]*/g);

The regular expression on line two will match any result that has "button" and will stop once it encounters a character afterwards that is not a digit.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top