2013-01-04 32 views
-1
$(".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(); 
} }); 

只有第一個元素是可用的,添加不可關於jQuery的切換父元素增加

working fiddle

+1

什麼是你的問題? – j08691

回答

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/

+0

謝謝你,但第一個有一些錯誤,你可以解決這個問題嗎? –

+0

@東怡飛不客氣,http://jsfiddle.net/dUQF6/。 – undefined