[英]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.