Не знаю, куда запотсить, перенесите тему, если чо.
Вот тут
http://learn.javascript.ru/searching-elements-dom
Цитата:
|
Важно, что в документе может быть только один элемент с данным id. Конечно, можно нарушить это правило и создать много элементов с одинаковым идентификатором, но в таком случае поведение метода getElementById будет непредсказуемым.
|
естественно, семантически неверно использовать неуникальные идентификаторы, но технически, данное утверждение, о непредсказуемом поведении, по-моему, ошибочно. Во всяком случае, я ни разу не встречал UB в широко поддерживаемых на данный момент браузерах(в том числе ie8). Всегда возвращается первый элемент.
<html>
<head>
</head>
<body>
<div id="foo">foo</div>
<div id="foo">bar</div>
<div id="foo">baz</div>
<script>
alert(document.getElementById("foo").innerHTML)
</script>
</body>
</html>
И вот еще что, следом там идет
Цитата:
|
Браузер автоматически создаёт переменные для элементов с id, через которые к ним можно обратиться.
...
Это поведение соответствует стандарту. Оно существует, в первую очередь, для совместимости, как осколок далёкого прошлого.
|
это сугубое ИМХО, но это не "осколок", а вполне обоснованая фича, сделанная для удобства программиста, которая позволяет избежать лишней писанины типа myelement=document.getElementById("element"). К сожалению, в большинстве случаев использется именно последнее, а это ни что иное, как тупое дублирование кода.
BTW, может кто в курсе, что говорит последний стандарт по поводу данного поведения?