Вот пример того, как вы могли бы сделать это, основываясь на разметке , которую вы указали в комментарии , поскольку есть некоторые предположения, которые вы можете сделать на основе версии jQuery, которые не сохраняются, когда вы видите разметка.
jsFiddle с живым примером .
// IE sucks
function addEvent(el, name, handler) {
if (el.addEventListener) {
el.addEventListener(name, handler, false);
} else if (el.attachEvent) {
// Make sure "this" references the element we're adding the event handler to
el.attachEvent('on' + name, function() { handler.call(el, window.event); });
}
}
function eachElementSibling(el, func) {
var childNodes = el.parentNode.childNodes;
for (var i = 0, sibling; sibling = childNodes[i]; i++) {
if (sibling.nodeType !== 1 || sibling === el) {
continue;
}
func(sibling);
}
}
function activateLink() {
var elToShow = document.getElementById(this.getAttribute('name'));
elToShow.style.display = '';
eachElementSibling(elToShow, function(s) { s.style.display = 'none'; });
this.className = 'link-active';
eachElementSibling(this, function(s) {
if (s.getAttribute('name')) { s.className = 'link-neactiv'; }
});
}
var items = document.getElementById('optiuni').getElementsByTagName('li');
var initialItem = null;
for (var i = 0, item; item = items[i]; i++) {
// Need to filter, as non-link items are also present in the list
if (item.getAttribute('name')) {
addEvent(item, 'click', activateLink);
if (item.className === 'prima') {
initialItem= item;
}
}
}
if (initialItem) {
activateLink.call(initialItem)
}