Jas*_*son 3 each foreach jquery loops for-loop
$(".globalTabs").each(function(){
var $globalTabs = $(this);
var parent = $globalTabs.parent('form');
//initiate jQuery UI tabs
$globalTabs.tabs();
var ATBwidth = $globalTabs.parent().outerWidth();
var tabsWidth = 0;
//get total width of all li/tabs
$(".globalTabs .ui-tabs-nav li").each(function() {
tabsWidth += $(this).outerWidth();
});
if(tabsWidth >= ATBwidth){
//doing something here
}
});
Run Code Online (Sandbox Code Playgroud)
由于嵌套而破坏.each- 这个问题有一个简单的方法吗?
break =第二个循环之后的功能,它指的$globalTabs是不再触发,因为它是未定义的.
愚蠢的错误:
在第二个循环之后,在本节中我指的是选择器两次.
所以,$(".globalTabs").each(function(){这当然不会起作用:
$globalTabs.find(".globalTabs .ui-tabs-nav li").hide();
与循环没有任何关系.
谢谢大家的帮助.
而不是使用值中this传递的值.each(index, value)
$(".globalTabs").each(function(index, value){
var $globalTabs = $(value);
var parent = $globalTabs.parent('form');
//initiate jQuery UI tabs
$globalTabs.tabs();
var ATBwidth = $globalTabs.parent().outerWidth();
var tabsWidth = 0;
//get total width of all li/tabs
$(".globalTabs .ui-tabs-nav li").each(function(index, secondValue) {
tabsWidth += $(secondValue).outerWidth();
});
if(tabsWidth >= ATBwidth){
//doing something here
}
});
Run Code Online (Sandbox Code Playgroud)