"Ne kadar kötü" diye sordun. Yani @ RobertKoritnik'in (tamamen doğru) cevabını biraz ...
Bu kod yanlış. Yanlış gri tonlarında gelmiyor. Bu kod standardı ihlal ediyor ve bu nedenle yanlış. Doğrulama kontrolünde başarısız olur ve yapmalıdır.
Bununla birlikte, şu anda piyasada bulunan hiçbir tarayıcı bu konuda hiçbir şikayette bulunmayacak veya sorun yaşamaması gerektiğini söyledi. Tarayıcılar bu konuda şikayette bulunma hakları dahilinde olacak, ancak şu anda hiçbirinin geçerli sürümünün hiçbiri bulunmuyor. Gelecekteki sürümleri bu kodu kötü işlemeyebilir anlamına gelmez.
Bu tanıtıcıyı css veya javascript'te bir seçici olarak kullanmaya çalışan davranışınız değiştirilemez ve muhtemelen tarayıcıdan tarayıcıya değişir. Sanırım her tarayıcının buna nasıl tepki gösterdiğini görmek için bir çalışma yapılabilir. En iyi durumda, "class =" gibi davranacağını ve onların listesini seçeceğini düşünüyorum. (Bununla birlikte, JavaScript kitaplıklarının kafasını karıştırabilir - eğer jQuery'nin yazarı olsaydım, "#" ile başlayan bir seçiciyle gelirseniz, tek bir nesne beklediğimden ve tek bir nesne beklediğimden, seçim kodumu optimize etmiş olabilirim. liste beni tamamen rahatsız edebilir.)
Ayrıca, ilki veya muhtemelen sonuncuyu seçebilir veya hiçbirini seçmeyebilir veya tarayıcıyı tamamen çökertebilir. Denemeden söylemenin yolu yok.
“Ne kadar kötü” o zaman tamamen belirli bir tarayıcının HTML spesifikasyonunu ne kadar sıkı uyguladığına ve bu şartnamenin ihlali ile karşı karşıya kaldığında ne yaptığına bağlıdır.
EDIT: SADECE bugün bu rastlamak oldu. Bu site için harika, hepsi bir arada bir raporlama programı oluşturmak için çeşitli varlıklardaki arama formlarından çeşitli bileşenlerden faydalanıyorum, uzak sayfaların arama formlarını gizli div'ler içine yüklüyorum ve bunları Raporun kaynağı olarak uygun varlık türü seçildiğinde rapor oluşturucu. Dolayısıyla, formun gizli bir sürümü ve rapor oluşturucuda görüntülenen bir sürüm var. Birlikte verilen JavaScript, her durumda, sayfada artık İKİ olan gizli kimliğe ve görüntülenen kimliğe göre öğeleri belirtir.
JQuery’nin yaptığı gibi, beni ilk olanı seçmek, ki bu da her durumda tam olarak istemediğim bir şey.
Bu konuda çalışıyorum, alanımı almak istediğim sayfanın bölgesini belirtmek için seçiciler yazarak (yani: $ ('# containerDiv #specificElement')). Ancak sorunuza bir cevap var - Chrome'daki jQuery, bu şart ihlali ile karşı karşıya kaldığında kesinlikle özel bir davranış sergiliyor.