如何在Jquery中选择和切换隐藏在所选元素的子div上

时间:2012-11-28 09:30:30

标签: html show-hide children jquery

我对Jquery很新,当我尝试在程序中选择子div时遇到问题。关键是要有一个触发jquery函数的按钮。此函数用于从按钮所在的位置获取所有子节点并隐藏它们。这是我的jquery代码:

$(".button").click(function () {
    $(this).children('div').fadeToggle("fast", function () {
    });
});

我的HTML非常简单。 div中的div和第二个div中的div是另外两个div。

<div class="clients>
    <input type="button" class="button" id="button" value="Hide Sites" autopostback="false"/>
    <div class="websites>
        <div class="urls"></div>
        <div class="data"></div>
    </div>
</div>

这不行。我尝试过使用jquery.next和兄弟姐妹,但也无法使用这些工具。 Jquery.closest向上看,找到了容器div(客户端),但这不是我需要的。伙计帮忙吗?感谢

3 个答案:

答案 0 :(得分:3)

你破坏了html,closing quote missing此处class="clientsclass="websites  你必须使用 next() 而不是 children()

<强> Live Demo

<div class="clients">
    <input type="button" class="button" id="button" value="Hide Sites" autopostback="false"/>
    <div class="websites">
        <div class="urls">1</div>
        <div class="data">2</div>
    </div>
</div>​

$(".button").click(function () {
    $(this).next('div').fadeToggle("fast", function () {
    });
});

答案 1 :(得分:1)

试试这种格式

$('.clients').on('click', $('.button'), function(){

});

答案 2 :(得分:0)

使用jquery.siblings解决它:

$(".button").click(function () {
    $(this).siblings('div').fadeToggle("fast", function () {
    });
});

我之前曾尝试过兄弟姐妹,但我想我有一个错误,因为现在它的工作。 谢谢大家!