Forum Webscript.Ru

Программирование => JavaScript & JScript => Тема начата: Polaris от 28 Февраля 2006, 18:04:26

Название: Проблема с массивом
Отправлено: Polaris от 28 Февраля 2006, 18:04:26
Доброго времени суток!
В JS  я очень сильно начинающий, так что просьба не пинать сильно :)
Передаю в функцию массив Arr, содержащий строки вида:
"document.all.page1"... "document.all.pagek", к может быть произвольное. Это идентификаторы гиперссылок.
Можно ли как-то теперь обратиться к ним в той функции, куда передал (они же получаются строками)?
Смысл в том, что нужно установить атрибут для произвольного количества гиперссылок, например:
document.all.page1.style.color    =   "#186CD0";

Если после всего сделанного пробую в цикле
Arr.style.color    =   "#186CD0";
- не выходит.

Сам понимаю, что делаю неправильно, но сижу уже второй день... :(
Название: Проблема с массивом
Отправлено: Макс от 28 Февраля 2006, 18:27:52
Цитировать
Polaris:
"document.all.page1"... "document.all.pagek", к может быть произвольное. Это идентификаторы гиперссылок.

document.all в этих строках лишний, достаточно передавать page1 ... pagek
Тогда в твоей функции можно писать document.all[Arr].style.color=\'#fffff\';

PS
document.all уже устарел
Название: Проблема с массивом
Отправлено: Polaris от 28 Февраля 2006, 18:44:13
Спасибо огромнейшее! :)
А что использовать вместо document.all?

И вообще, где бы почитать про JS, во избежание обилия глупых вопростов? :)
Название: Проблема с массивом
Отправлено: Макс от 28 Февраля 2006, 18:58:17
document.getElementById(\'id_of_element\');

Что почитать для новичка - не знаю. Обычно если в поисковиках или в поиске форума поискать по этому вопросу - можно найти много советов.
Название: Проблема с массивом
Отправлено: andymc от 03 Марта 2006, 23:42:04
Для доступа к объектам

function get (id){
if(document.all)
return document.all[id];
else
return document.getElementById(id)
}


А чтобы пройтись по всем ссылкам, внизу страницы надо поставить код

for (i=0; i if (document.links[i].href==document.location.href)
{document.links[i].href="#"; document.links[i].style.color="green"};
};

Строки внутри цикла нужно заменять на ваши. Этот код выполняет обработку всех ссылок на текущую страницу, изменяя их и окрашивая в зелёный.
Название: Проблема с массивом
Отправлено: CGVictor от 04 Марта 2006, 08:22:19
andymc
А зачем описывать get? GEBI работает для любого браузера (dom-compl).