menemukan tipe elemen menggunakan jQuery

345

Di jQuery, jika saya memiliki referensi ke elemen, bagaimana saya bisa menentukan elemen apa itu, misalnya, input atau dropdown? Apakah ada cara untuk mengetahuinya?

Duplikat:

Bagaimana saya bisa menentukan tipe elemen dari elemen yang cocok di jQuery?

jyotishka bora
sumber
5
Duplikat: stackoverflow.com/questions/341900/…
Ólafur Waage
10
Mungkin duplikat, tetapi memiliki jawaban yang lebih baik, dan yang lainnya ditandai dengan buruk.
Rumpleteaser
2
@Rumpleteaser Jika "yang lain" ditandai dengan buruk, lalu mengapa Anda tidak menggunakan edittombol di bawahnya dan memberi tag dengan sempurna?
trejder

Jawaban:

615

Berikut ini akan mengembalikan true jika elemen tersebut adalah input:

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

atau Anda dapat menggunakan yang berikut ini untuk mendapatkan nama tag:

$("#elementId").get(0).tagName
Marius
sumber
59
Saat menggunakan $ ("# elementId"). Dapatkan (0) .tagName tagName akan dalam semua huruf besar - TR, DIV dll.
Jarede
7
Oke, jadi properti TagName mengembalikan nilai semua topi, saya hanya melakukan .toLowerCase()pada itu
pythonian29033
9
var elementType = $(this).prop('tagName');
Damodar Bashyal
5
Penggunaan nodeNamemungkin lebih konsisten di berbagai browser: stackoverflow.com/questions/4878484/…
Nathan Jones
2
Perhatikan, bahwa menggunakan $("#elementId").is(":input")umumnya akan memberi tahu Anda, jika Anda berurusan dengan segala jenis elemen formulir, tanpa memeriksa jenis spesifiknya ( referensi ).
trejder
12

Anda dapat menggunakan .prop () dengan tagNamenama properti yang ingin Anda dapatkan:

$("#elementId").prop('tagName'); 
Resolusi
sumber
4

Perlu dicatat bahwa jawaban kedua @ Marius dapat digunakan sebagai solusi Javascript murni.

document.getElementById('elementId').tagName
Matas Vaitkevicius
sumber