Показать сообщение отдельно
  #16 (permalink)  
Старый 28.09.2011, 17:17
Профессор
Отправить личное сообщение для Триви Посмотреть профиль Найти все сообщения от Триви
 
Регистрация: 23.04.2010
Сообщений: 354

Сообщение от ksa Посмотреть сообщение
Триви, в свете последнего прочитаного, можно вообще вместо

.toggleClass('on')


использовать
http://jquery-docs.ru/effects/toggle/
Это всё равно не решает п.3
Ладно, лучше поясню с помощью кода.
Поскольку автор хотел JS чистяком, то вот:

<a href="#" id="sh">Открыть все</a><hr />
<a href="#" class="no_text">Бла-бла1</a><p class="new_text" style="display:none">1-бла...</p>
<a href="#" class="no_text">Бла-бла2</a><p class="new_text" style="display:none">2-бла...</p>
<a href="#" class="no_text">Бла-бла3</a><p class="new_text" style="display:none">3-бла...</p>

<script type='text/javascript'>
(function() {
  var aArr = document.getElementsByTagName('A');
  for (var i=0; i<aArr.length; i++)  {
    aArr[i].onclick = function() {
        var p = this.nextSibling,
            vis = p.style.display;
        p.style.display = (vis=='none') ? 'block' : 'none';
    }
  }
  sh.onclick = function () {
    var vis;
    if(this.innerHTML=='Открыть все') {
      vis = 'block', this.innerHTML='Закрыть все';
    } else {
      vis = 'none', this.innerHTML='Открыть все';
    }
    var pArr = document.getElementsByTagName('P');
    for (var i=0; i<pArr.length; i++) {
      pArr[i].style.display = vis;
    }
  }
})();
</script>
Ответить с цитированием