Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: getElementsByName
 
 автор: sl1p   (10.12.2008 в 16:28)   письмо автору
 
 

работает только document.getElementsByName('name');

нужно взять элементы из таблицы например..

document.getElementById('table').getElementsByName('name');

и вот так кидается ошибками.=(
почему?)

  Ответить  
 
 автор: PAT   (10.12.2008 в 16:39)   письмо автору
 
   для: sl1p   (10.12.2008 в 16:28)
 

getElementsByName ('name'); возвращает коллекцию (массив) элементов документа, имеющих имя name. Даже если элемент с таковым именем на странице всего один, тип возращаемого значения будет ARRAY. Соответственно, если вы попытаетесь это значение на что-то умножить (что-то прибавить, что-то отнять... или прочитать первый символ, к примеру), браузер выдаст вам ошибку - таковые операции с массивами делать нельзя.

Правильно будет получать значение ОДНОГО какого-то элемента этого массива, используя его индекс. Вот так, например, для первого (или единственного):
document.getElementById ('table').getElementsByName ('name') [0];

  Ответить  
 
 автор: sl1p   (10.12.2008 в 16:45)   письмо автору
 
   для: PAT   (10.12.2008 в 16:39)
 

проблема именно в том что не хочет создавать массив.
написал же вроде, что через document работает, а через обращение к определённому элементу - нет.

var cb = tbl.getElementsByName('thislogo[]');

tbl.getElementsByName is not a function
[Break on this error] var cb = tbl.getElementsByName('thislogo[]');

мне оно в принципе не жмёт ибо на странице такое имя уникально.
но всё же интересно почему=(

  Ответить  
 
 автор: PAT   (10.12.2008 в 17:57)   письмо автору
 
   для: sl1p   (10.12.2008 в 16:45)
 

Ага, теперь "въехал".

Метод getElementsByName (как и getElementById) применим только КО ВСЕМУ документу.
Таковыми эти метотоды изначально и задумывались.

  Ответить  
 
 автор: sl1p   (10.12.2008 в 18:12)   письмо автору
 
   для: PAT   (10.12.2008 в 17:57)
 

ну судя из того что не получается, это и так ясно =)

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования