[转]在jQuery的each()函数中使用continue和break
?? jQuery的each函數(shù)可調(diào)用選擇器得到的元素集進(jìn)行循環(huán)調(diào)用。這意味著,每次執(zhí)行傳遞進(jìn)來的函數(shù)時(shí),函數(shù)中的this關(guān)鍵字都指向一個(gè)不同的 DOM元素(每次都是一個(gè)不同的匹配元素)。而且,在每次執(zhí)行函數(shù)時(shí),都可以給函數(shù)傳遞一個(gè)表示作為執(zhí)行環(huán)境的元素(index),在匹配的元素集合中所 處位置的數(shù)字值作為參數(shù)(從零開始的整形)。
一、遍歷
以下面的HTML為例:
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
<li>5</li>
可使用下面的代碼給每個(gè)li設(shè)置同一個(gè)CSS樣式:
二、遍歷中對(duì)某個(gè)元素操作
jQuery有默認(rèn)迭代的特性,但如果希望對(duì)迭代中的某個(gè)符合條件的元素操作,則需要使用each函數(shù):
??if(index==2 || $(this).attr('id') == 'addClass') $(this).css("border","1px red solid");??????????????
??});
三、終止或跳過循環(huán)
涉及迭代,不可避免需要有非正常終止,或強(qiáng)制跳過的情況。在jQuery的each函數(shù)中,存在以下關(guān)系:
break :return false;
直接return也會(huì)跳出jQuery。
所以,就可以寫出下面的代碼:
??if(index==2)return true;
??if(index==4)return false;
??$(this).css("border","1px red solid");??????????????
??});
這里會(huì)跳過第3、5個(gè)li 元素,而不改變其CSS樣式。
(index從0開始計(jì)算,也可以使用其他的變量名)
轉(zhuǎn)載于:https://www.cnblogs.com/moyiqun/archive/2013/06/06/3121378.html
總結(jié)
以上是生活随笔為你收集整理的[转]在jQuery的each()函数中使用continue和break的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Raphael JS 矢量客户端开源框架
- 下一篇: 奔跑的小车……