-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();
} });

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

工作小提琴

4

1 回答 1

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/

于 2013-01-04T03:42:10.383 回答