การค้นหาประเภทขององค์ประกอบโดยใช้ jQuery


345

ใน jQuery ถ้าฉันมีการอ้างอิงถึงองค์ประกอบฉันจะกำหนดประเภทขององค์ประกอบเช่นอินพุทหรือดรอปดาวน์ได้อย่างไร มีวิธีใดบ้างที่จะทราบได้?

ซ้ำ:

ฉันจะกำหนดประเภทองค์ประกอบขององค์ประกอบที่ตรงกันใน jQuery ได้อย่างไร



10
อาจซ้ำกัน แต่มีคำตอบที่ดีกว่าและอีกแท็กหนึ่งมีการติดแท็กที่ไม่ดี
Rumpleteaser

2
@Rumpleteaser หาก "แท็กอื่น" ถูกแท็กไม่ดีทำไมคุณไม่ใช้editปุ่มด้านล่างและติดแท็กให้สมบูรณ์
trejder

คำตอบ:


615

ข้อมูลต่อไปนี้จะคืนค่าจริงหากองค์ประกอบคืออินพุต:

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

หรือคุณสามารถใช้สิ่งต่อไปนี้เพื่อรับชื่อของแท็ก:

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

59
เมื่อใช้ $ ("# elementId") รับ (0) .tagName tagName จะอยู่ในตัวพิมพ์ใหญ่ทั้งหมด - TR, DIV ฯลฯ เป็นต้น
Jarede

7
ตกลงดังนั้นคุณสมบัติ tagName ส่งคืนค่าตัวพิมพ์ใหญ่ทั้งหมดฉันเพิ่งทำ.toLowerCase()มัน
pythonian29033

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

5
การใช้nodeNameอาจสอดคล้องกันมากขึ้นในเบราว์เซอร์ที่แตกต่างกัน: stackoverflow.com/questions/4878484/…
นาธานโจนส์

2
โปรดทราบว่าการใช้$("#elementId").is(":input")โดยทั่วไปจะแจ้งให้คุณทราบหากคุณกำลังจัดการกับองค์ประกอบของรูปแบบใด ๆ โดยไม่ตรวจสอบประเภทเฉพาะ ( อ้างอิง )
trejder

12

คุณสามารถใช้. prop ()ด้วยtagNameเป็นชื่อของคุณสมบัติที่คุณต้องการรับ:

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

4

เป็นที่น่าสังเกตว่าคำตอบที่สองของ @ Marius สามารถใช้เป็นโซลูชัน Javascript ที่แท้จริงได้

document.getElementById('elementId').tagName
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.