pavlyukov_i
@pavlyukov_i

Компактно написать Jquery?

Есть такой код:
$(function(){
  $("#row1 .project__add").click(function(event){
    $('.table__row--child').insertAfter('#row1').slideToggle();
    $('#row1 .fa-stack').children('i:last-child').toggleClass('fa-minus');
  })
});


Есть такие id до 20, у всех если что есть общий класс.

<tr id="row1" class="table__row">

Как написать общий цикл, чтобы не писать такое для каждого ID? Нужно, чтобы когда ты нажимал на каждый ID, открывался общий для всех подблок.
  • Вопрос задан
  • 154 просмотра
Решения вопроса 1
delphinpro
@delphinpro Куратор тега JavaScript
frontend developer
var $rows = ...; // Блок в котором лежит все остальное
$('.project__add').click(function(){
    var $row = $(this).parents('[id^=row]');// тут лучше использовать общий класс
    $('.table__row--child').insertAfter($row).slideToggle();
    var $icon = $row.find('.fa-stack').children('i:last-child');
    $rows.find('.fa-stack').children('i:last-child').not($icon).removeClass('fa-minus'); 
    $icon.toggleClass('fa-minus');
});
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@Result007
P|-|P
Привет! Может дать им общий класс и использовать $(this) как вариант?

UPD. Или создать общую функцию и установить атрибут onClick="".
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы