Nói chung, người ta cho rằng tên luôn được thay thế bởi id . Điều này đúng, ở một mức độ nào đó, nhưng không phải đối với các trường mẫu và tên khung , thực tế mà nói. Ví dụ, với các phần tử biểu mẫu, name
thuộc tính được sử dụng để xác định các cặp giá trị tên được gửi đến chương trình phía máy chủ và không nên loại bỏ. Browsers do not use id in that manner
. Để an toàn, bạn có thể sử dụng các thuộc tính tên và id trên các thành phần của biểu mẫu. Vì vậy, chúng tôi sẽ viết như sau:
<form id="myForm" name="myForm">
<input type="text" id="userName" name="userName" />
</form>
Để đảm bảo tính tương thích, có các giá trị thuộc tính tên và id phù hợp khi cả hai được xác định là một ý tưởng tốt. Tuy nhiên, hãy cẩn thận với một số thẻ, đặc biệt là các nút radio, phải có các giá trị tên không trùng lặp, nhưng yêu cầu các giá trị id duy nhất.Một lần nữa, điều này nên tham chiếu rằng id không chỉ đơn giản là một sự thay thế cho tên; chúng khác nhau về mục đích Hơn nữa, không giảm giá cách tiếp cận kiểu cũ, nhìn sâu vào các thư viện hiện đại cho thấy kiểu cú pháp như vậy được sử dụng cho hiệu suất và mục đích dễ dàng đôi khi. Mục tiêu của bạn phải luôn luôn ủng hộ sự tương thích.
Bây giờ trong hầu hết các yếu tố, thuộc tính name đã bị từ chối ủng hộ thuộc tính id phổ biến hơn. Tuy nhiên, trong một số trường hợp, đặc biệt là hình thành các lĩnh vực ( <button>
, <input>
, <select>
, và <textarea>
), cuộc sống tên thuộc tính trên vì nó tiếp tục được yêu cầu để thiết lập các cặp tên-giá trị nộp mẫu đơn. Ngoài ra, chúng tôi thấy rằng một số thành phần, đáng chú ý là khung và liên kết, có thể tiếp tục sử dụng thuộc tính name vì nó thường hữu ích cho việc truy xuất các thành phần này theo tên.
Có một sự phân biệt rõ ràng giữa id và tên. Rất thường khi tên tiếp tục, chúng ta có thể đặt các giá trị giống nhau. Tuy nhiên, id phải là duy nhất và tên trong một số trường hợp không nên nghĩ các nút radio. Đáng buồn thay, tính duy nhất của các giá trị id, trong khi bị bắt bởi xác thực đánh dấu, không nhất quán như mong muốn. Việc triển khai CSS trong các trình duyệt sẽ tạo kiểu cho các đối tượng có chung giá trị id; do đó, chúng tôi không thể bắt lỗi đánh dấu hoặc lỗi kiểu có thể ảnh hưởng đến JavaScript của chúng tôi cho đến khi chạy.
Điều này được lấy từ cuốn sách JavaScript- The Complete Reference by Thomas-Powell