osnoz osnoz - 2 months ago 20
Javascript Question

Get multiple elements by Id

I have a page with tags anchor tags throught the body like this...

<a id="test" name="Name 1"></a>
<a id="test" name="Name 2"></a>
<a id="test" name="Name 3"></a>


The ID is always the same but the name changes.

I need to populate a list of the names of these anchor tags, i.e. (Name 1, Name 2, Name 3). This is where I've got to so far...

document.write(document.getElementById("readme").name);


This writes out the name of the first anchor tag. I'm in need of a way to get multiple elements by Id.




Any help greatly appreciated

Answer

If you can change the markup, you might want to use class instead.

<!-- html -->
<a class="test" name="Name 1"></a>
<a class="test" name="Name 2"></a>
<a class="test" name="Name 3"></a>

// javascript
var elements = document.getElementsByClassName("test");
var names = '';
for(var i=0; i<elements.length; i++) {
    names += elements[i].name;
}
document.write(names);

jsfiddle demo