Подтвердить что ты не робот

Jquery select class внутри родительского div

Я пытаюсь изменить alt изображения, я нажимаю на выбор класса изображения (add_answer)

Примечание. .add_answer отображается несколько раз внутри разных, содержащих div

jQuery(function(){   // Add Answer

    jQuery(".add_answer").click(function(){
        var count = $(this).attr("alt");
        count++;
        $('.a_type_'+count+'').show();
        $(this).parents("div:first").$('.add_answer').attr("alt", count);
    }); 

});

Эта строка, похоже, не работает, как я могу выбрать этот класс add_answer через родительский div

$(this).parents("div:first").$('.add_answer').attr("alt", count);

У кого-нибудь есть идея?

Я пытаюсь смириться с уменьшением значения alt на изображении .add_answer при нажатии .destroy_answer

jQuery(function(){   // Hide Answer

    jQuery(".destroy_answer").click(function(){
        $(this).parents("div:first").hide();
        var count = $('.add_answer').attr("alt");
        count--;
        $('.add_answer',$(this).parent('div:first')).attr('alt',count);


    }); 

});

Проблемная строка:

$('.add_answer',$(this).parent('div:first')).attr('alt',count);
4b9b3361

Ответ 1

вы можете использовать родительский div как область действия:

 $('.add_answer',$(this).parent('div:first')).attr('alt',count);

Ответ 2

Это должно работать:

$(this).parent("div").find(".add_answer").attr("alt", count);

Ответ 3

Вы правильно кодируете код. Требуемое изменение заключается в использовании .find вместо метода $after.parents. Следует избегать использования .parent вместо .parents, таким образом ваш код будет более ненавязчивым (точно - таким образом img может быть непрямым дочерним элементом div).

$(this).parents('div:eq(0)').find('.add_answer')

Вы можете манипулировать: eq (0), чтобы выбрать, например, третий родительский div, используя: eq (2).