簡體   English   中英

如何在jQuery中突破each()?

[英]How can I break out of an each() in jQuery?

我有以下HTML + JS。 我希望toggleButton僅切換第一個io-section-header。 最終,我將有多個toggleButton可以切換唯一的ul。

我該如何實現?

<!DOCTYPE html>
<html>
<head>
  <script src="http://code.jquery.com/jquery-latest.js"></script>
</head>
<body>
  <div><span>Section 1</span></div>
  <div class="io-section-header">
  <ul>
    <li class="advanced">Accounts</li>
    <li class="advanced">People</li>
    <li class="advanced">companies</li>
    <li class="basic">She</li>
  </ul>
   <div><span>Section 2</span></div>
   <div class="io-section-header">
    <ul>
    <li class="advanced">Accounts</li>
    <li class="advanced">People</li>
    <li class="advanced">companies</li>
    <li class="basic">P</li>
  </ul>
  </div>
  </div>

  <div class="toggleButton">Collapse</div>

<script>
    jQuery(function ($) {
        $('.toggleButton').click(function () {  
            var currentText = $(this).text();
            if(currentText === "Collapse")
                $(this).text("Expand");
            else
                $(this).text("Collapse");

            /*$('.io-section-header').each(function() {
                $("li").siblings(".advanced").toggle('fast',function(){});
            });*/

            $('.io-section-header li').siblings(".advanced").toggle('fast'); 

        });
    });
</script>

</body>
</html>

.each()文檔中

通過使回調函數返回false,可以在特定的迭代中破壞$ .each()循環。 返回非false與for循環中的continue語句相同; 它將立即跳至下一個迭代。

這將切換每個io-section-header類中的第一個高級類

$('ul li.advanced:first', '.io-section-header').toggle('fast',function(){});

這將切換第一個io-section-header類中的第一個高級類

$('ul li.advanced:first', '.io-section-header:first').toggle('fast',function(){});

您只需要return false 你為什么不使用first()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM