首页 文章

单击显示/隐藏div

提问于
浏览
0

我正在编写一个小脚本来显示/隐藏div时单击其他div,但我无法获得第二个div可点击 .

到目前为止,这是我的代码:

$(document).ready(function(){
    $('div#ordontia').click(function(){
        $(this).next('div#ordontia2').slideToggle("slow");
    });
});

http://jsfiddle.net/65AK2/1/

每次单击“按钮”时,表格底部都会出现带有描述的新div . (底部的蓝色div) . 如果单击另一个按钮,则前一个描述应该关闭,另一个应该在同一个地方打开 . (尚未实施)

在此先感谢您的帮助!

6 回答

  • 1

    如果具有唯一ID,为什么要选择下一个元素?

    $(document).ready(function(){
        $('div#ordontia').click(function(){
            $('div#ordontia2').slideToggle("slow");
        });
    });
    

    更一般的是,如果你添加更多的div:

    $(document).ready(function(){
        $('.botaomedicina').click(function(){
            $('#'+$(this).attr('id')+'2').slideToggle("slow");
        });
    });
    

    与其他所有人关闭:

    $(document).ready(function(){
        $('.botaomedicina').click(function(){
            $('.botaomedicinadescription').slideUp("slow");
            $('#'+$(this).attr('id')+'2').slideToggle("slow");
        });
    });
    
  • 0

    不要使用 $.next ,它只选择当前元素的兄弟:

    获取匹配元素集中每个元素的紧随其后的兄弟 . 如果提供了选择器,则仅当它与该选择器匹配时,它才会检索下一个兄弟 . - jQuery文档:.next()

    使用正常的:

    $('div#ordontia2').slideToggle("slow");
    
  • 2

    固定它 .

    http://jsfiddle.net/65AK2/2/
    

    首先,它看起来像你的切换div是形成错误的 . 我没有看到它 .

    其次,如果你知道另一个div的ID是什么,你不需要说:

    $(this).next("#item");
    

    ,这没有任何意义 .

  • 1
    $(document).ready(function(){
        $('div#ordontia').click(function(){
            $('div#ordontia2').slideToggle("slow");
        });
    });
    

    删除 this ;)

  • 2

    试试这个

    $(document).ready(function(){
        $('div#ordontia').click(function(){
            $('div#ordontia2').slideToggle("slow");
        });
    });
    

    更新小提琴http://jsfiddle.net/65AK2/4/

  • 2

    您可以通过 ID selector 直接进行

    http://jsfiddle.net/65AK2/3/

    $(document).ready(function(){
        $('#ordontia').click(function(){
            $('#ordontia2').slideToggle("slow");
        });
    });
    

相关问题