jquery切换隐藏显示问题

时间:2009-05-16 17:17:14

标签: jquery toggle

缩短这个的最有效方法是什么?

$('.img').click(function(e) {
    if ($(this).attr('id') == 'myid') {
        $('#a').hide();
        $('#b').show();
    } else {
        $('#a').show();
        $('#b').hide();
    }
});

如果使用else if

添加了其他选项,则会对您的答案进行任何更改

3 个答案:

答案 0 :(得分:6)

$('#myid').click(function() {
        $('#a,#b').toggle();
});

答案 1 :(得分:4)

我将假设您尝试将所有元素与名为“img”的类匹配。

$(".img[id='myid']").click(function() {
        $('#a,#b').toggle();
});

允许多个ID

$(".img[id='myid'], .img[id='myid2']").click(function() {
        $('#a,#b').toggle();
});

您还可以检查ID

上的不等于
$(".img[id!='someid']").click(function() {
        $('#a,#b').toggle();
});

答案 2 :(得分:0)

为什么要检查click事件中的元素id?如果您只希望此特定元素处理此事件,请选择它并将事件处理程序绑定到它。

假设任何时候都有#a或#b显示:

$('#myid').click(function(){
    $('#a').toggle();
    $('#b').toggle();
})
相关问题