今天浅谈JQUERY的each方法,JQ有一个万能的迭代【遍历】方法,each,
次方法可以遍历,数组,对象
不过次方法需要注意一点就是 return false 是 break, return true 才是 continue,很多人都搞错了,站长也有过搞错了经历,一直以为 return true 才是 break...
详细介绍:
以每一个匹配的元素作为上下文来执行一个函数。
意味着,每次执行传递进来的函数时,函数中的this关键字都指向一个不同的DOM元素(每次都是一个不同的匹配元素)。而且,在每次执行函数时,都会给函数传递一个表示作为执行环境的元素在匹配的元素集合中所处位置的数字值作为参数(从零开始的整型)。 返回 'false' 将停止循环 (就像在普通的循环中使用 'break')。返回 'true' 跳至下一个循环(就像在普通的循环中使用'continue')。
DOM遍历:
///// <button>Change colors</button> <span></span> <div></div> <div></div> <div></div> <div></div> <div id="stop">Stop here</div> <div></div> <div></div> <div></div> ///// $("button").click(function () { $("div").each(function (index, domEle) { // domEle == this $(domEle).css("backgroundColor", "yellow"); if ($(this).is("#stop")) { $("span").text("Stopped at div index #" + index); return false; } }); });
上面是一个遍历dom的实列,利用 return false 终止遍历【break】
数组对象遍历:
数组部分 var arr = [1,2,'3'] $(arr).each((item,index) => { console.log(item, index) }) 对象部分 var ob = {a:'aaa',b:'bbbb'} $(ob).each((item,index) => { console.log(item, index) })