单击图像时如何使用JQUERY选择第二个元素?

时间:2009-05-24 12:08:03

标签: jquery

以下代码仅适用于第一个div。当我点击其他“img”时,我无法显示其他div。 你知道一种方法来达到第二个(下一个)元素吗?

$(document).ready(function() {

        $('.imgOpenClose').click(function() {
            if ($(this).attr("src") == "images/openTree.gif") {
                $(this).attr("src", "images/closeTree.gif");
                $(this).parent().find('div').eq(0).show();
            }
            else {
                $(this).attr("src", "images/openTree.gif");
                $(this).parent().find('div').eq(0).hide();
            }
        });
});

Wanna open table when i clicked on plus images

And wanna see the table inside this div

2 个答案:

答案 0 :(得分:2)

由于您在图片后面有一个中断元素,因此您需要使用nextAll并选择第一个DIV,而不是像我原来的答案那样只使用带有过滤器的next

$('.imgOpenClose').click( function() {
    $(this).nextAll('div:first').toggle();
});

答案 1 :(得分:1)

如果您有多个具有相同类标记的图像,您仍然可以执行此操作而无需附加唯一ID:

$(function() {
    $('.imgOpenClose').click(function() {
        $(this).next('div').children('table').toggle();
    });
});