关于jquery切换父元素增加

时间:2013-01-04 03:37:49

标签: jquery this parent

$(".user_img").click(function() {
if ($(".user-insert-image").css("display") == 'none') {
    $(".user-upload-image").hide();
    $(".user-insert-image").show();
} else {
    $(".user-insert-image").hide();
    $(".user-upload-image").show();
} });

只有第一个元素可用,添加元素不可用

working fiddle

1 个答案:

答案 0 :(得分:1)

那是因为你正在动态生成元素。您应该委派活动:

$('.main').on('click', '.user_img', function() {

此外,您需要使用this关键字,您当前的逻辑隐藏/显示所有元素。

$('.main').on('click', ".user_img", function() {
    var $this = $(this).parent();
    if ($this.hasClass('user-insert-image')) {
        $this.hide().prev().show()
    } else {
        $this.hide().next().show()
    }
});

http://jsfiddle.net/dUQF6/