Вот что я придумал
Яваскрипт
CODE
var Elm, Col; // Запоминающие выделеный элемент переменные - плохой тон, но
// что поделаеш ))
function faq(hrf) { // Эта функия проверяет на наличия имени все ссылки, имя в параметре
var key, mas = document.getElementsByTagName('A');
if (Elm != undefined) {
Elm.style.color = Col; // возвращаем придыдущему элементу его родной цвет
}
for (key in mas){
if (mas[key].name == hrf) {
Elm = mas[key];
Col = mas[key].style.color;
mas[key].style.color = 'red'; // задаем выделяющий цвет
break;
}
}
};
function onl() { // при загрузке может быть только одно имя (если адрес ссылки уже имеет в пути #имя)
var hrf = (window.location + '').replace(/.*#/,'');
faq(hrf);
}
function ocl(e) { //при онклике может быть несколько вариантов - но два основных:
var eObj;
if(document.all)
{e = event; eObj = e.srcElement}
else {eObj = e.target}; // найходим элемент иницирующий событие
var hrf;
if ((eObj != undefined) && (eObj.href != undefined) && (eObj.href.replace(/.*#/,'') != eObj.href))
hrf = eObj.href.replace(/.*#/,'') // чаще это просто ссылка
else if ((eObj.parentNode != undefined) && (eObj.parentNode.href != undefined) && (eObj.parentNode.href.replace(/.*#/,'') != eObj.parentNode.href)) // или когда в сылке картинка
hrf = eObj.parentNode.href.replace(/.*#/,'')
else hrf = (window.location + '').replace(/.*#/,'');//на кройняк оставим по адресной строке - те предыдущую
faq(hrf);
}
window.onload = onl;
document.onclick = ocl;