jquery在父div中选择类

时间:2008-12-26 23:44:37

标签: javascript jquery

我正在尝试更改图片的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);

3 个答案:

答案 0 :(得分:24)

您可以使用父div作为范围:

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

答案 1 :(得分:12)

这应该有效:

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

答案 2 :(得分:4)

你的代码几乎是正确的。所需的更改是使用.find而不是。$ after .parents方法。应该避免使用.parent而不是.parents,这样你的代码就会更加不引人注目(正是这种方式,img可能是div的非直接子代)。

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

你可以操纵:eq(0)选择例如第三个父div使用:eq(2)。