Задать вопрос
@rebyatyonok
Новичок

Почему работают сразу все кнопки jquery?

Суть такая:
У меня есть энное количество блоков с классом "big-column_news" которым jQuery автоматически присваивается доп. класс "big-column_news_0", "big-column_news_1" и т.д в зависимости от их порядка. Вот этот скрипт:
$(".big-column_news").addClass(function(index) {
        return "big-column_news_" + index;
    });

Сами блоки по структуре одинаковы, и имеют три дочерних блока, один из которых кнопка. Что то вроде новостной ленты статей, с кнопками "подробнее", при нажатии на которые статья раскрывается полностью.
<div class="big-column_news big-column_news_0">
            <div class="date"><p>17/08</p></div>
            <div class="text"></div>
            <div class="button"><button>Подробнее</button></div>
        </div>

Проблема в том, что при нажатии на одну из кнопок срабатывают сразу все кнопки во всех блоках, а мне этого явно не нужно. Перепробовал кучу разных способов, сначала более универсальные, теперь что по проще.
Яваскрипт код такой:
var button = $(".big-column_news_0").children(".button");
        button.click(function(){
      $(".big-column_news_0").children(".text").css("height", 'auto');
      button.hide();
    });
    
    var button1 = $(".big-column_news_1").children(".button");
        button1.click(function(){
      $(".big-column_news_1").children(".text").css("height", 'auto');
      button1.hide();
    });

Ну и так для каждого из блоков.
Вопрос: почему так происходит?
И вопрос еще один: как использовать уже присвоенный index из первого скрипта как переменную? чтобы можно было его назначить на дочерние элементы в соответствии с родителем(то есть у родителя index=0, и его дочерних элементов тоже равен нулю)?
Спасибо!
  • Вопрос задан
  • 183 просмотра
Подписаться 1 Оценить Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы