Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> не работает getElementsByName, Удивительное рядом 
:(
    Опции темы
Эрроу
Дата 25.2.2007, 16:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 23
Регистрация: 21.1.2006

Репутация: нет
Всего: нет



Простейший скрипт

Код

<html>
<body>
    <div name="mydiv"></div>
    <script>
        collection=document.getElementsByName("mydiv");
        document.write(collection.length);
    </script>
</body>
</html>


И ИЕ, и Опера радостно выводят 0.
PM MAIL   Вверх
Fin
Дата 25.2.2007, 16:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дракон->Спать();
**


Профиль
Группа: Участник
Сообщений: 687
Регистрация: 4.1.2006

Репутация: нет
Всего: 10



Эрроу, Может быть все таки var collection=document.getElementByName("mydiv");
Имя у элементов как правило уникально. Поэтому его наверно в единственном числе нужно писать.


--------------------
Пролетал мимо.
PM MAIL   Вверх
Эрроу
Дата 25.2.2007, 17:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 23
Регистрация: 21.1.2006

Репутация: нет
Всего: нет



Fin
На getElementByName вообще ругается как на неподдерживаемый метод.
Смысл как раз в том, что ID уникально (поэтому getElementById возвращает один элемент), a NAME может быть одинаковый у нескольких элементов.
PM MAIL   Вверх
AKS
Дата 25.2.2007, 17:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Участник форума
**


Профиль
Группа: Участник
Сообщений: 725
Регистрация: 20.9.2006

Репутация: 27
Всего: 52



Эрроу, а у <div> бывает атрибут name? Вроде нет...
PM MAIL   Вверх
Эрроу
Дата 25.2.2007, 17:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 23
Регистрация: 21.1.2006

Репутация: нет
Всего: нет



AKS
Да, действительно. Спасибо. Если в примере в топикстартовом посте поменять div на, скажем, input, то все работает.
Правда, исходная проблема, которая побудила к созданию темы, увы, пока не решена. Вот она, собственно:
Код

<html>
<body>
    <form id="form1">
    </form>
    <script>
        input=document.createElement("input");
        input.name="aaa";
        document.getElementById("form1").appendChild(input);
        var collection=document.getElementsByName("aaa");
        document.write(collection.length);
    </script>
</body>
</html>


Все равно выводится 0. При этом атрибут name для input'a устанавливается (т.е. document.write(input.name) выводит ааа). И если заменить getElementsByName("aaa") на getElementsByTagName("input"), все работает (выводится 1).
PM MAIL   Вверх
AKS
Дата 25.2.2007, 17:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Участник форума
**


Профиль
Группа: Участник
Сообщений: 725
Регистрация: 20.9.2006

Репутация: 27
Всего: 52



Эрроу, для IE создавайте вот так:
Код

var input = document.createElement("<input name='aaa'>");

PM MAIL   Вверх
Эрроу
Дата 25.2.2007, 17:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 23
Регистрация: 21.1.2006

Репутация: нет
Всего: нет



AKS
Огромное спасибо. Работает.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0748 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.