2010-05-01 17 views
24

Voglio ottenere il nome di un determinato tag (per dire se si tratta di un div/ingresso/span/p/così via)Qual è il modo migliore per ottenere il nome del tag di un elemento in JS?

ho scoperto che ci sono 3 diversi attributi che mi danno il nome del tag:

tagName, nodeName, e localName

la mia domanda è: qual è la più supportato in tutti i browser? E/o esiste un metodo per ottenere il nome del tag in Prototype (ho cercato ma non sono riuscito a trovarne uno)?

+0

È necessario ignorare 'localName' poiché è ora obsoleto ([origine] (https://developer.mozilla.org/en-US/docs/Web/API/Node/localName)). – 10basetom

risposta

24

nodeName è il più coerente qui. Ti suggerirei take a minute and read this post for a few differences and inconsistencies with tagName se sei più curioso del perché.

Per la parte prototipo della domanda ... è una proprietà JavaScript, solo this.nodeName dovrebbe funzionare o element.nodeName, qualsiasi cosa venga chiamata nella funzione corrente dovrebbe funzionare.

+0

Bel link all'articolo, +1 :). Per quanto riguarda la funzione prototipo, intendevo solo una funzione che determina quale proprietà è meglio utilizzare in base al browser, come l'uso di 'update()' invece di '.innerHTML' –

+0

@webdestroya - Poiché questo funziona in modo coerente tra i browser , non è necessario aggiungere alcun overhead nella libreria, ad esempio jQuery non ha alcun metodo per questo :) –

+0

Ah, buon punto. Grazie per la risposta! –

Problemi correlati