I would like to be able to use javascript to find every id (or name) for every object in an html document so that they can be printed at the bottom of the page.
To under
On modern browsers you can do this via
document.querySelectorAll('*[id]')
should do the job.
If you need all descendants of myElement
with IDs, then do
myElement.querySelectorAll('*[id]')
If you want to be really careful to exclude , then maybe
document.querySelectorAll('*[id]:not([id=""])')
If compatibility with older browsers is required
var allElements = document.getElementsByTagName("*");
var allIds = [];
for (var i = 0, n = allElements.length; i < n; ++i) {
var el = allElements[i];
if (el.id) { allIds.push(el.id); }
}
should leave you with all the IDs in allIds
.
If you find you need to just enumerate the IDs under a particular form node, then you can replace document.getElementsByTagName
with myFormNode.getElementsByTagName
.
If you want to include both IDs and NAMEs, then put
else if (el.name) { allIds.push(el.name); }
below the if
above.