Wykorzystanie Nazw i identyfikatory elementów HTML

Dowiedz się różnicę między nazwami i identyfikatorami znaczników HTML. Dlatego też, może okazać się ważne, aby ustalać wartości różnią się od siebie.

A+ A-

W HTML, różne elementy na stronie są identyfikowane za pomocą nazw i identyfikatorów. Nie jest konieczne podawanie nazwy lub identyfikatora elementu, ale jeśli chcesz odwołać się do elementu w kodzie JavaScript, będziesz musiał podać albo nazwę lub identyfikator lub obu do tego elementu.

Elementu w obiekcie dokumentu modelu strony internetowej (DOM) może być oznaczony albo nazwy lub identyfikatora lub jeden i drugi. Na przykład:

 <div name = "divName" id = "divId">

treść div

</ div> 

Jeśli element jest częścią formularza, nazwa elementu jest wysyłany do serwera wraz z wartością elementu, gdy formularz jest składany. Dlatego atrybut nazwa jest ważna dla nazw wartości parowania w ciągu kwerendy, która przechodzi do serwera.

ID elementu jest zazwyczaj używany do odnoszenia się do elementu w skryptach po stronie klienta (takich jak JavaScript). Osiąga się to przez getElementById () Metoda obiektu dokumentu w modelu DOM. Na przykład:

 var foo = document.getElementById ( 'elementID') wartość.; 

Kiedy przypisać nazwy i identyfikatory elementów, jest to dość kuszące, aby utrzymać je sam (zwłaszcza w dużych aplikacjach, w których albo zabraknie logiczne / nazwy sensowne lub trudno jest śledzić z nich), takie jak:

 <div name = "foobar" id = "foobar"> </ div> 

Praktyka ta jest w większości niegroźne, ale zauważyłem, że czasami powoduje problemy w kontekście AJAX (szczególnie w IE) . Kilka z moich skryptów AJAX, który pracował dobrze w FF; nie działa w IE i Safari. Ostatecznie problemy zostały rozwiązane, kiedy zrobiłem nazwy i identyfikatory wykorzystywanych elementów różnych. Myślę, że ten problem jest specyficzne aplikacje i nie pojawią się w każdym skrypcie AJAX. Jednak myślę, że jest to dobra praktyka, aby zachować nazwy i identyfikatory inaczej. Aby poruszać się po wydaniu ucieka z sensownych nazw, po prostu sufiks "ID" na id elementu, zachowując resztę ciąg taki sam jak jego nazwę. na przykład

 <div name = "foobar" id = "foobarID"> </ div> 

Proszę, daj mi znać, co myślisz o tym problemie. Czy również w obliczu problemu wspomniałem w stosunku do Internet Explorer?