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

я пытаюсь использовать имена классов, чтобы изменить цвет ссылки после того, как он был выбран, так что Она останется в новый цвет, но только до тех пор, пока другая ссылка выделена, и тогда он изменится.

я использую этот код, который было размещено Мартин Kool в этот вопрос:

<html>     
<head>
<script>
  document.onclick = function(evt) {
    var el = window.event? event.srcElement : evt.target;
    if (el && el.className == "unselected") {
      el.className = "selected";
      var siblings = el.parentNode.childNodes;
      for (var i = 0, l = siblings.length; i < l; i++) {
        var sib = siblings[i];
        if (sib != el && sib.className == "selected")
          sib.className = "unselected";
      }
    }
  }
</script>
<style>
  .selected { background: #f00; }
</style>
</head>
 <body>
   <a href="#" class="selected">One</a> 
    <a href="#" class="unselected">Two</a> 
    <a href="#" class="unselected">Three</a>
  </body>

Он замечательно работает до тех пор, пока я пытаюсь из ссылок в таблице. Почему это? Легко, я новичок.


нет ошибок, ссылки меняются к "избранному" классу, но когда еще одна ссылка выбрана, старые ссылки держим "избранных" класса вместо того, чтобы изменить, чтобы "не выбрано". В основном, насколько я могу судить, это функционирующая как атрибут vlink, которые не то, что я собираюсь.

И да, ссылки все в разных камерах, как вы могли бы предложить мне изменить код таким образом, что оно работает правильно?


ОК, на самом деле, я говорил слишком рано.

document.onclick = function(evt)
{
var el = window.event? event.srcElement : evt.target;
if (el && el.className == 'unselected')
{
    var links = document.getElementsByTagName('a');
    for (var i = links.length - 1; i >= 0; i--)
    {
            if (links[i].className == 'selected')
                    links[i].className = 'unselected';
    }
    el.className = 'selected';
}

return false;
}

Этот код вы дали мне прекрасно работает, визуально он делает именно то, что я хочу это сделать. Однако, Это делает мои ссылки перестают работать... Они меняют цвет, но не ссылку на что-нибудь, и потом, когда я удалить скрипт, они работают нормально. Что я делаю не так/что мне нужно изменить, чтобы сделать эту работу?

кроме того, я хочу сделать то же самое где-то еще в моем веб-сайте, где ссылки все в один <div> тегов, разделенных " теги". Как я могу сделать эту работу?

Найдено 3 ответа:

Changing the color of a selected link that is embedded in a table

http://stackoverflow.com/questions/256093/changing-the-color-of-a-selected-link-that-is-embedded-in-a-table

Посмотреть решение →