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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Проблемка с getElementsByTag 
:(
    Опции темы
BobiKK
Дата 27.7.2006, 12:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 655
Регистрация: 1.12.2005
Где: Essen, Deutschlan d

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



Код

<div id="horizontal_links"><td><a href=.... class="foo">Bla-bla-bla</a></td><td><a href=... class="foo">Bla-bla-bla</a></td>...</div>
<script type="text/javascript">
var query = location.search.substring(1);
var param = query.split('&');


function underline(theID, search_str)
{
    var elem = document.getElementById(theID);
    var howMatchAn = elem.getElementsByTagName("A");
    
    for(ai = 0; ai < howMatchAn.length; ai++)
        {
     if(howMatchAn[ai].getAttribute('href').match(search_str) != null) 
                howMatchAn[ai].className='underline';
    }
}

underline("horizontal_links", param[2]);
</script>

Проблема в том, что howMatchAn.length == 0.   

Это сообщение отредактировал(а) BobiKK - 27.7.2006, 13:00
PM MAIL   Вверх
skyboy
Дата 27.7.2006, 13:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

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



<A> - дети не div'a, а ячейки td. Потому тебе надо снчала искать ячейки в div'е, а потом уже - ссылки. 
------------------------------------------------
был не прав. Функции безразлично - дети, или дети детей.  

Это сообщение отредактировал(а) skyboy - 27.7.2006, 14:16
PM MAIL   Вверх
Avb
Дата 27.7.2006, 13:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



skyboy, Ты ошибаешься  smile 


BobiKK, Ты что-то путаешь. У меня в твоем скрипте в ФФ, ИЕ и Опере howMatchAn.length = 2 
PM MAIL   Вверх
BobiKK
Дата 27.7.2006, 14:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 655
Регистрация: 1.12.2005
Где: Essen, Deutschlan d

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



Вообще никак не работает. Не с TD, не с A

Avb, выложи, плиз, полный код странички этой, где у теб всё получилось. Может я что не туда пихаю?

Добавлено @ 14:29 
Всё, разобрался.
Надо было или всю таблицу в контейнер помещать, или просто определять айди у <tr> и к нему обращаться 

Это сообщение отредактировал(а) BobiKK - 27.7.2006, 14:30
PM MAIL   Вверх
Avb
Дата 27.7.2006, 15:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



BobiKK, а в каком (каких) интересно браузере те тестишь?

Вот код:
Код

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title></title>

</head> 
<body>
<div id="horizontal_links"><td><a href=.... class="foo">Bla-bla-bla</a></td><td><a href=... class="foo">Bla-bla-bla</a></td>...</div>
<script type="text/javascript">
var query = location.search.substring(1);
var param = query.split('&');
function underline(theID, search_str)
{
    var elem = document.getElementById(theID);
    var howMatchAn = elem.getElementsByTagName("A");
    alert(howMatchAn.length);
    for(ai = 0; ai < howMatchAn.length; ai++)
        {
     if(howMatchAn[ai].getAttribute('href').match(search_str) != null) 
                howMatchAn[ai].className='underline';
    }
}
underline("horizontal_links", param[2]);
</script>
</body>
</html>

Беру твой код. Добавляю alert(howMatchAn.length); Все. При загрузке страницы алертит 2.
Попробовал даже не вставляя в body. А тупо твой код сохранил как html файл. все равно - 2.
Может у тебя, где-то закрался такой id выше? Id - уникальный идентификатор. Должен быть один.
getElementById возвращает первый найденный элемент. 
PM MAIL   Вверх
BobiKK
Дата 27.7.2006, 15:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 655
Регистрация: 1.12.2005
Где: Essen, Deutschlan d

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



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


 




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


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

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