Данный скрипт очень полезе для случаев, когда есть громадный FAQ, и нуна выделять активный заголовок в нем.. конечно можно каждому названию дать свой йдишник, затем изменять свойства при онклике, но обратно таки в меню придется задавать событие для каждого пункта - такая структура н е универсальна...

Вот что я придумал

Яваскрипт
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;