Bạn hỏi "thật tệ". Vì vậy, để xác thịt trả lời @ RobertKoritnik (hoàn toàn chính xác) một chút ...
Mã đó không chính xác. Không chính xác không có màu xám. Mã này vi phạm tiêu chuẩn và do đó không chính xác. Nó sẽ không kiểm tra xác nhận, và nó nên.
Điều đó nói rằng, không có trình duyệt hiện tại trên thị trường sẽ phàn nàn về nó, hoặc có bất kỳ vấn đề với nó. Các trình duyệt sẽ có quyền khiếu nại về vấn đề này, nhưng không có phiên bản hiện tại nào trong số chúng hiện đang làm. Điều đó không có nghĩa là các phiên bản trong tương lai có thể không đối xử tệ với mã này.
Hành vi của bạn khi cố gắng sử dụng ID đó làm công cụ chọn, trong css hoặc javascript, là không thể chấp nhận được và có thể thay đổi tùy theo trình duyệt. Tôi cho rằng một nghiên cứu có thể được thực hiện để xem mỗi trình duyệt phản ứng với điều đó như thế nào. Tôi nghĩ trong trường hợp tốt nhất, nó sẽ coi nó giống như "class =" và chọn danh sách của chúng. (Tuy nhiên, điều đó có thể gây nhầm lẫn cho các thư viện JavaScript - nếu tôi là tác giả của jQuery, tôi có thể đã tối ưu hóa mã bộ chọn của mình để nếu bạn đến với tôi với bộ chọn bắt đầu bằng "#", tôi mong đợi một đối tượng và nhận được một đối tượng danh sách có thể bork tôi hoàn toàn.)
Nó cũng có thể chọn cái đầu tiên, hoặc có thể là cái cuối cùng, hoặc không chọn cái nào trong số chúng, hoặc làm hỏng hoàn toàn trình duyệt. Không có cách nào để nói mà không thử nó.
"Làm thế nào xấu" sau đó phụ thuộc hoàn toàn vào mức độ nghiêm trọng của một trình duyệt cụ thể thực hiện thông số HTML và những gì nó làm khi đối mặt với vi phạm thông số kỹ thuật đó.
EDIT: TÔI CHỈ tình cờ bắt gặp điều này ngày hôm nay. Tôi đang sử dụng các thành phần khác nhau từ các biểu mẫu tìm kiếm trên nhiều loại thực thể khác nhau để tạo ra một tiện ích báo cáo tất cả trong một lớn cho trang web này, tôi đang tải lên các biểu mẫu tìm kiếm của các trang từ xa trong các div ẩn và đưa chúng vào trình tạo báo cáo khi loại thực thể phù hợp được chọn làm nguồn cho báo cáo. Vì vậy, có một phiên bản ẩn của biểu mẫu và một phiên bản được hiển thị trong trình tạo báo cáo. Trong tất cả các trường hợp, JavaScript đi kèm với các phần tử bằng ID, trong đó hiện có HAI trên trang - một ẩn và một được hiển thị.
Điều mà jQuery dường như đang làm là chọn cho tôi cái đầu tiên, mà trong mọi trường hợp chính xác là cái tôi không muốn.
Tôi đang giải quyết vấn đề này bằng cách viết các công cụ chọn để chỉ định vùng của trang mà tôi muốn đưa trường của mình vào (ví dụ: $ ('# containerDiv #specificEuity')). Nhưng có một câu trả lời cho câu hỏi của bạn - jQuery trên Chrome chắc chắn hành xử theo một cách cụ thể khi đối mặt với vi phạm thông số kỹ thuật này.