2010-05-01 62 views
24

Tôi muốn lấy tên của một thẻ nhất định (để cho biết đó là div/input/span/p/v.v.)Cách tốt nhất để lấy tên thẻ của phần tử trong JS là gì?

Tôi thấy có 3 thuộc tính khác nhau cung cấp cho tôi tên thẻ:

tagName, nodeName, và localName

câu hỏi của tôi là: Đó là một trong những hỗ trợ nhất trong tất cả các trình duyệt? Và/hoặc là có một phương pháp để có được tên thẻ trong Prototype (tôi nhìn nhưng không thể tìm thấy một)?

+0

Bạn nên bỏ qua 'localName' vì nó đã lỗi thời ([source] (https://developer.mozilla.org/en-US/docs/Web/API/Node/localName)). – 10basetom

Trả lời

24

nodeName là nhất quán nhất ở đây. Tôi sẽ đề nghị bạn take a minute and read this post for a few differences and inconsistencies with tagName nếu bạn tò mò hơn là tại sao.

Đối với phần nguyên mẫu của câu hỏi ... đó là thuộc tính JavaScript, chỉ this.nodeName nên hoạt động hoặc element.nodeName, bất kỳ phần tử nào của bạn được gọi trong hàm hiện tại đều hoạt động.

+0

Liên kết đẹp đến bài viết, +1 :). Đối với hàm nguyên mẫu, ý tôi là có một hàm xác định thuộc tính nào là tốt nhất để sử dụng dựa trên trình duyệt, như sử dụng 'update()' thay cho '.innerHTML' –

+0

@webdestroya - Vì cái này hoạt động liên tục trên các trình duyệt , không cần phải thêm bất kỳ chi phí nào trong thư viện, ví dụ jQuery cũng không có bất kỳ phương thức nào cho điều này :) –

+0

Điểm tốt. Cảm ơn câu trả lời! –

Các vấn đề liên quan