jquery切换一次单击打开所有div

时间:2011-09-07 02:43:58

标签: jquery toggle

请查看以下代码,无论出于何种原因,只有当我点击编辑链接时,我才能打开一个div,当我点击编辑链接时,它会打开所有div。这就是我所拥有的:

( function($) {
    $(document).ready(function() {
        // hides the slickbox as soon as the DOM is ready
        $('.slickbox').hide();           
        // toggles the slickbox on clicking the noted link  
        $('.slick-toggle').click(function() {
        $('.slickbox').toggle(400);
        return false;
        });
    });
} ) ( jQuery );

以下是HTML部分:

<li id="list_47">
<div>
    <div id="row">
        <div class="title id="bannerid59"><img src="banner_45_10.jpg" /></div>
        <div class="action"><a href="#" class=".slick-toggle">Edit</a></div>
    </div>
    <div id="row-right">
        <span class="small">Sort Order: 2</span><br>
    </div>
</div>
<div class="slickbox">blah blah box 1</div>
</li>

<li id="list_48">
<div>
    <div id="row">
        <div class="title id="bannerid60"><img src="banner_45_11.jpg" /></div>
        <div class="action"><a href="#" class=".slick-toggle">Edit</a></div>
    </div>
    <div id="row-right">
        <span class="small">Sort Order: 2</span><br>
    </div>
</div>
<div class="slickbox">blah blah box 2</div>
</li>

我已经查看了其他没有运气的示例或解决方案(例如替换$('。slickbox')。toggle(400);使用$(this).next(“.slickbox”)。slideToggle(400); )

非常感谢任何指针。谢谢。

4 个答案:

答案 0 :(得分:1)

(function($) {
  $(document).ready(function() {
    $('.slickbox').hide();           
    $('.slick-toggle').click(function() {
    $('.slickbox', $(this).parents("li")).toggle(400);
    return false;
    });
  });
}) ( jQuery );

答案 1 :(得分:0)

使用像$(this).closest('.slickbox').toggle(400);

这样的东西

原因是你有一个带有一类slickbox的div和你拥有的jquery只是打开所有这些。你需要告诉它只打开你想要的那个。

答案 2 :(得分:0)

如何使用:

$("div[slickbox]").toggle()

没有尝试过,但我已经完成了绑定事件,这似乎有效。

答案 3 :(得分:0)

您可以调用其中一个div slickbox1和另一个slickbox2