Is there a way in java script to get only a particular name instead of using document.getElementsByName("x"); which return an array? I have a kind of special situation where i can’t use the id. Any suggestions please? Thank You.
+4
A:
If you're looking for a single element, take the first one from the nodelist, for example:
var element = document.getElementsByName("x")[0];
Nick Craver
2010-10-04 15:31:58
+3
A:
Just get the first element:
document.getElementsByName("x")[0];
Or for safety:
function getFirstElementByName(element_name) {
var elements = document.getElementsByName(element_name);
if (elements.length) {
return elements[0];
} else {
return undefined;
}
}
(BTW getElementsByName returns a collection, not an array.)
David Dorward
2010-10-04 15:33:17
in java script is there a real difference between array and a collection?
Harshana
2010-10-05 04:43:58
Yes. They have different properties.
David Dorward
2010-10-05 06:09:26
A:
Or use jQuery, so you don't have to bother with all the browser annoyance.
You just have to do this:
$("*[name='x']")[0];
To get the first element with that name. If you know the element type than you can use it instead of "*". jQuery will make your life easier every time!
Rikas
2010-10-04 16:04:50