因業務須要,須要將關閉windows窗口內的全部Tabs關閉掉,所以寫了個方法,執行結果把我驚了一下。javascript
function closeAllTabs() { var tabsCount = $("#winTabs").tabs("tabs").length;//得到Tabs個數 for (var i = 0; i < tabsCount; i++) {//遍歷 $("#winTabs").tabs("close", i);//0~n所有關閉 } }
長期寫後端,程序這樣寫確定沒問題,可是發現前端JS執行可不是按照後端的方式來執行的,其運行結果,只能關閉一半的Tabs標籤;前端
通過調試後發現 $("#winTabs").tabs("close", i) 這個i是正常的加下去的,可是Tabs個數是因爲被關閉掉就愈來愈少,所以執行到一半的時候後面的標籤已經不存在了,可是仍是繼續關下去。java
所以糾正代碼,只須要將$("#winTabs").tabs("close", i) 這裏的i更改成0便可,其原理是我永遠只關第一個標籤直接結束,解決問題。windows
1 function closeAllTabs() { 2 var tabsCount = $("#winTabs").tabs("tabs").length;//得到Tabs個數 3 for (var i = 0; i < tabsCount; i++) {//遍歷 4 $("#winTabs").tabs("close", 0);//注意這裏更改成0了 5 } 6 }