Javascript 如何在jQuery中突破each()的限制?
我有以下HTML+JS。我希望toggleButton只切换第一个io节标题。最终,我将有多个切换按钮,将切换一个独特的ul 我怎样才能做到这一点Javascript 如何在jQuery中突破each()的限制?,javascript,jquery,Javascript,Jquery,我有以下HTML+JS。我希望toggleButton只切换第一个io节标题。最终,我将有多个切换按钮,将切换一个独特的ul 我怎样才能做到这一点 <!DOCTYPE html> <html> <head> <script src="http://code.jquery.com/jquery-latest.js"></script> </head> <body> <div><span&g
<!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>
这就是你所需要的;你为什么不先用呢?就是你所需要的;为什么不先使用?来自:
通过使回调函数返回false,我们可以在特定迭代中中断$.each循环。返回非false与for循环中的continue语句相同;它将立即跳到下一个迭代
从:
通过使回调函数返回false,我们可以在特定迭代中中断$.each循环。返回非false与for循环中的continue语句相同;它将立即跳到下一个迭代
这将切换每个io节头类中的第一个高级类
$('ul li.advanced:first', '.io-section-header').toggle('fast',function(){});
$('ul li.advanced:first', '.io-section-header:first').toggle('fast',function(){});
这将切换第一个io节头类中的第一个高级类
$('ul li.advanced:first', '.io-section-header').toggle('fast',function(){});
$('ul li.advanced:first', '.io-section-header:first').toggle('fast',function(){});
这将切换每个io节头类中的第一个高级类
$('ul li.advanced:first', '.io-section-header').toggle('fast',function(){});
$('ul li.advanced:first', '.io-section-header:first').toggle('fast',function(){});
这将切换第一个io节头类中的第一个高级类
$('ul li.advanced:first', '.io-section-header').toggle('fast',function(){});
$('ul li.advanced:first', '.io-section-header:first').toggle('fast',function(){});
您应该能够从回调返回false。更好的方法是简单地使用first或:first选择器。顺便说一句,我不知道你是开着的:在中说对了。你应该能够从回调中返回false。更好的方法是简单地使用first或:first选择器。顺便说一句,我不知道你是开着的:在循环中正确地说。即使我在循环中添加return false,它仍然会切换我的两个div。你能给我举个例子吗?代码使用。每个仍然使用$li.sibbins.advanced。这将匹配页面上的所有s,而不仅仅是此下的s。为此,您必须使用$this.find'li'…,尽管更好的解决方案可能是使用只匹配您想要的内容的选择器,而不是中断迭代。即使我将return false添加到循环中,它仍然会切换我的两个div。你能给我举个例子吗?代码使用。每个仍然使用$li.sibbins.advanced。这将匹配页面上的所有s,而不仅仅是此下的s。为此,您必须使用$this.find'li'…,尽管更好的解决方案可能是使用只匹配您想要的内容的选择器,而不是中断迭代。即使我将return false添加到循环中,它仍然会切换我的两个div。你能给我举个例子吗?使用first将始终返回第一个ul。最终,我希望有多个切换按钮,可以隐藏/显示其关联的ulEven。即使我将return false添加到循环中,它仍然可以切换我的两个div。你能给我举个例子吗?使用first将始终返回第一个ul。最后,我希望有多个切换按钮,可以隐藏/显示其关联的结果。第二个代码片段更符合我试图实现的目标。如何切换io节标题中的所有元素?如果我添加了另一个toggleButton来切换第二个io节标题,那么该如何实现呢?如果我有N个切换按钮和N个io节标题,你可以得到如下按钮的索引-var index=$.toggleButton.indexthis;而不是像这样只切换一个-$'ulli','.io节头:eq'+index+.toggle'fast',函数{}@SheehanAlam:您需要某种方法来跟踪哪些切换按钮连接到哪个元素。我最喜欢的方法是将数据属性与元素ID/选择器一起使用:。第二个代码片段更接近我试图实现的内容。如何切换io节标题中的所有元素?如果我添加了另一个toggleButton来切换第二个io节标题,那么该如何实现呢?如果我有N个切换按钮和N个io节标题,你可以得到如下按钮的索引-var index=$.toggleButton.indexthis;而不是像这样只切换一个-$'ulli','.io节头:eq'+index+.toggle'fast',函数{}@SheehanAlam:您需要某种方法来跟踪哪些切换按钮连接到哪个元素。我最喜欢的方法是将数据属性与元素ID/选择器一起使用:。