Sommario
attributes restituisce una collezione degli attributi presenti nell'elemento dato.
Sintassi e valori
var collAttributes = RiferimentoAllElemento.attributes;
L'oggetto collezione restituito è del tipoNamedNodeMap. Se nell'elemento non vi è specificato alcun attributo, l'oggetto restituito avrà lunghezza 0. Questo attributo è di sola lettura.
collAttributes è un riferimento alla collezione di attributi.
Esempio
// prende il primo elemento <p> nel documento var para = document.getElementsByTagName("p")[0]; var atts = para.attributes;
Note
L'oggetto restituito è di tipo NamedNodeMap, chiamato anche collezione , che è una lista non ordinata di nodi oggetti. I nomi e i valori delle proprietà dell'oggetto attributes sono accessibili usando l'indice, come nell'esempio seguente, che prende la coppia nome/valore del primo attributo del paragrafo "p1" nel documento:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "https://www.w3.org/TR/html4/strict.dtd"> <html> <head> <title>Attributes example</title> <script type="text/javascript"> function showFirstAttr() { var FirstParg = document.getElementById("p1"); var outputText = document.getElementById("result"); //se il nostro elemento possiede degli attributi if (FirstParg.hasAttributes()) {//visualizziamo il nome e il valore del primo attributo outputText.value = FirstParg.attributes[0].name + "->" + FirstParg.attributes[0].value; } else { outputText.value = "Non ci sono attributi" }; } </script> </head> <body> <p id="p1" style="color: green;">Sample Paragraph</p> <form action=""> <p><input type="button" value="Mostra nome e valore del primo attributo" onclick="showFirstAttr();"> <input id="result" type="text" value=""></p> </form> </body> </html>
L'oggetto attributes è una
collezione
che è una specie di array, con la proprietà length e le proprietà attribute accessibili attraverso un indice(e anche attraverso il nome dell'attributo), ma non ha i metodi specifici degli array, come ad esempio join
, split
, etc.
L'ordine delle proprietà nella collezione attributes è arbitrario— due browser, dallo stesso identico markup, possono restituire un oggetto attributes con le proprietà in un diverso ordine.
Per accedere uno specifico attributo, usa il metodo getAttribute o usa la dot notation .
// Mostra l'id dell'elemento, se presente if(element.id) { alert("L'id di element è " + element.id); } else { alert("element non ha id"); };