jQuery - 不是这个或上一个或下一个?

时间:2011-06-30 19:02:24

标签: jquery

如何选择除“this”之外的所有div的div,而不是下一个和前一个div?下面的代码选择除“this”之外的所有内容:

$(".image-div").not(this).each(function() {
            $(this).animate({
                    width: '250px'
                }, 500, function() {
                // Animation complete.
            });
        }   
    });

谢谢

更新 - 这是我的完整代码:

$(".image-div").click(function () {


    if ($(this).css('width') != '500px') {

        $(this).animate({
            width: '500px'
            }, 500, function() {
            // Animation complete.
        });

        $(this).prev().animate({
            width: '125px'
            }, 500, function() {
            // Animation complete.
        });

        $(this).next().animate({
            width: '125px'
            }, 500, function() {
            // Animation complete.
        });


    } else {
        $(this).animate({
            width: '250px'
            }, 500, function() {
            // Animation complete.
        });
    }


    $(".image-div").not(this).each(function() {
            $(this).animate({
                    width: '250px'
                }, 500, function() {
                // Animation complete.
            });

    });


});

所有div.image-div的宽度都是250px。我需要它,所以当你点击一个div时,它扩展到500px,它的两边的邻居(也是div.image-div)缩小到125px。

再次单击div时,它和它的邻居重新调整大小为250px。此外,如果你点击另一个div,所有div(除了点击的div及其邻居)重新调整大小为250px。

谢谢

2 个答案:

答案 0 :(得分:1)

$(".image-div").click(function() {
            $(".imagediv").not($(this)).not($(this).next()).not($(this).prev()).animate({
                    width: '+=250px'
                }, 500);
        });

答案 1 :(得分:0)

我根据自己的理解改变了一点,但你应该能够弄明白。这很邋,,但它确实有效。

var divClicked = $(this);

$(".image-div").not(divClicked).not($(".image-div").next()).not($(".image-div").prev()).each(function() {
       $(this).css({
             background: 'blue'
       });

});