Это не работает, потому что к тому времени, когда вы вызываете document.getElementsByName
, элементы DOM еще не загружены, поэтому ваш document.getElementsByName('lala');
вернет ноль.
Есть несколько способов выполнить функцию, только когдаэлементы DOM готовы.Самый простой способ - создать функцию в вашем <head>
и вызвать ее в событии загрузки вашего тела
<head>
<script type="text/javascript">
function domLoaded() {
var elem=document.getElementsByName('lala');
alert(elem.length);
}
</script>
</head>
<body onload="domLoaded();">
....
</body>
Когда вы поместили функцию javascript в конец вашего тега, вы просто начали вызыватькод, когда ваши элементы, где готовы.Это тоже сработает, но не лучше ли сделать все правильно и поместить весь свой JS-код в элемент head?Использование кода JS по всему коду сделает вашу жизнь адом, когда вам нужно что-то исправить.