trovare il tipo di un elemento usando jQuery


345

In jQuery, se ho un riferimento a un elemento, come posso determinare che tipo di elemento è, ad esempio, un input o un menu a discesa? C'è un modo per scoprirlo?

Duplicare:

Come posso determinare il tipo di elemento di un elemento corrispondente in jQuery?



10
Può essere un duplicato, ma ha una risposta migliore e l'altro è etichettato male.
Rumpleteaser,

2
@Rumpleteaser Se "l'altro" è taggato male, allora perché non usi il editpulsante sottostante e taggalo perfettamente?
trejder

Risposte:


615

Quanto segue restituirà vero se l'elemento è un input:

$("#elementId").is("input") 

oppure puoi utilizzare quanto segue per ottenere il nome del tag:

$("#elementId").get(0).tagName

59
Quando si utilizza $ ("# elementId"). Get (0) .tagName il tagName sarà in maiuscolo - TR, DIV ecc
Ecc.

7
Va bene, quindi la proprietà tagName restituisce un valore tutte le protezioni, ho appena fatto un .toLowerCase()su di esso
pythonian29033

9
var elementType = $(this).prop('tagName');
Damodar Bashyal,

5
L'uso nodeNamepotrebbe essere più coerente su diversi browser: stackoverflow.com/questions/4878484/…
Nathan Jones,

2
Nota che l'utilizzo $("#elementId").is(":input")ti dirà in genere, se hai a che fare con qualsiasi tipo di elemento del modulo, senza verificarne il tipo specifico ( riferimento ).
trejder

12

Puoi usare .prop () con tagNamecome nome della proprietà che vuoi ottenere:

$("#elementId").prop('tagName'); 

4

Vale la pena notare che la seconda risposta di @ Marius potrebbe essere utilizzata come pura soluzione Javascript.

document.getElementById('elementId').tagName
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.