tìm loại phần tử bằng jQuery


345

Trong jQuery, nếu tôi có một tham chiếu đến một phần tử, làm thế nào tôi có thể xác định loại phần tử đó là gì, ví dụ, một đầu vào hoặc một danh sách thả xuống? Có cách nào để tìm hiểu?

Bản sao:

Làm cách nào để xác định loại phần tử của một phần tử phù hợp trong jQuery?



10
Có thể là một bản sao, nhưng nó có một câu trả lời tốt hơn, và một câu trả lời khác được gắn thẻ xấu.
Rumpleteaser

2
@Rumpleteaser Nếu "người kia" bị gắn thẻ xấu, vậy tại sao bạn không sử dụng editnút bên dưới và gắn thẻ hoàn hảo?
trejder

Câu trả lời:


615

Điều sau đây sẽ trả về true nếu phần tử là một đầu vào:

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

hoặc bạn có thể sử dụng cách sau để lấy tên của thẻ:

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

59
Khi sử dụng $ ("# ElementId"). Get (0) .tagName tagName sẽ có trong tất cả các chữ hoa - TR, DIV, v.v.
Jarede

7
được rồi, vì vậy thuộc tính tagName trả về tất cả giá trị mũ, tôi vừa thực hiện .toLowerCase()trên đó
pythonia29033

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

5
Việc sử dụng nodeNamecó thể phù hợp hơn trên các trình duyệt khác nhau: stackoverflow.com/questions/4878484/ Kẻ
Nathan Jones

2
Lưu ý rằng việc sử dụng $("#elementId").is(":input")thường sẽ cho bạn biết, nếu bạn đang xử lý bất kỳ loại phần tử biểu mẫu nào, mà không kiểm tra loại cụ thể của nó ( tham chiếu ).
trejder

12

Bạn có thể sử dụng .prop () với tagNametên của tài sản mà bạn muốn nhận:

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

4

Điều đáng chú ý là câu trả lời thứ hai của @ Marius có thể được sử dụng làm giải pháp Javascript thuần túy.

document.getElementById('elementId').tagName
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.