files/en-us/web/api/htmlformcontrolscollection/nameditem/index.md
{{APIRef("HTML DOM")}}
The HTMLFormControlsCollection.namedItem() method returns
the {{domxref("RadioNodeList")}} or the {{domxref("Element")}} in the collection whose
name or id match the specified name, or null if
no node matches.
Note that this version of namedItem() hides the one inherited from
{{domxref("HTMLCollection")}}. Like that one, in JavaScript, using the array bracket
syntax with a {{jsxref("String")}}, like collection["value"] is
equivalent to collection.namedItem("value").
namedItem(name)
[name]
name
name or id attributes of the controls in this HTMLFormControlsCollection object.name or id,name or id, ornull if no element has the given name or id.[!NOTE] The returned {{domxref("RadioNodeList")}} is live, meaning that its contents automatically update if elements that match the given name are added to or removed from the collection. Furthermore, it may contain non-radio input elements despite the collection's name.
<form>
<label for="yes">Yes</label>
<input id="yes" name="my-radio" type="radio" />
<label for="no">No</label>
<input id="no" name="my-radio" type="radio" />
<label for="maybe">Maybe</label>
<input id="maybe" name="my-radio" type="radio" />
<label for="text1">Text input 1</label>
<input id="text1" name="my-form-control" type="text" />
</form>
<div id="output"></div>
div {
margin: 1rem 0;
}
const form = document.querySelector("form");
const items = form.elements.namedItem("my-radio");
const output = document.querySelector("#output");
const itemIDs = Array.from(items)
.map((item) => `"${item.id}"`)
.join(", ");
const item2 = form.elements.namedItem("my-form-control");
output.textContent = `My items: ${itemIDs}
My single item: "${item2.id}"`;
{{EmbedLiveSample("Using namedItem()")}}
{{Specifications}}
{{Compat}}