JQuery本身就是JS的封装,查阅JQuery的源码就能得到答案。如果要编写自己的遍历JS,可以先参考JQuery的源码和其他语言的遍历代码,对自己封装原生JS应该会有所帮助。 源码详情分析可参考以下 nuysoft攥写 的博客内容:http://www.cnblogs.com/nuysof... JQuery的next() 主要通过 HTML DOM 的 nodetype和 nextsibling 两个基本属性 实现。其中有些函数还会涉及parentNode,children等等属性。一些常见的原生JS也是围绕这几个HTML的基本属性和JS语法去编写的。 HTML DOM nodetype属性nodeType 属性返回以数字值返回指定节点的节点类型。如果节点是元素节点,则 nodeType 属性将返回 1。...如果节点是document,则 nodeType 属性将返回 9。 HTML DOM nextSibling属性nextSibling属性:该属性表示当前节点的下一个节点;如果其后没有与其同级的节点,则返回null; JQuery遍历迭代三个核心函数jQuery.dir( elem, dir, until )从一个元素出发,迭代检索某个方向上的所有元素并记录,直到与遇到document对象或遇到until匹配的元素jQuery.nth( cur, result, dir, elem )从一个元素出发,迭代检索某个方向上的第N个元素jQuery.sibling( n, elem )元素n的所有后续兄弟元素,包含n,不包含elem
JQuery本身就是JS的封装,查阅JQuery的源码就能得到答案。如果要编写自己的遍历JS,可以先参考JQuery的源码和其他语言的遍历代码,对自己封装原生JS应该会有所帮助。
源码详情分析可参考以下 nuysoft攥写 的博客内容:
http://www.cnblogs.com/nuysof...
JQuery的next() 主要通过 HTML DOM 的 nodetype和 nextsibling 两个基本属性 实现。其中有些函数还会涉及parentNode,children等等属性。
一些常见的原生JS也是围绕这几个HTML的基本属性和JS语法去编写的。
HTML DOM nodetype属性
nodeType 属性返回以数字值返回指定节点的节点类型。
如果节点是元素节点,则 nodeType 属性将返回 1。
...
如果节点是document,则 nodeType 属性将返回 9。
HTML DOM nextSibling属性
nextSibling属性:该属性表示当前节点的下一个节点;如果其后没有与其同级的节点,则返回null;
JQuery遍历迭代三个核心函数
jQuery.dir( elem, dir, until )从一个元素出发,迭代检索某个方向上的所有元素并记录,直到与遇到document对象或遇到until匹配的元素jQuery.nth( cur, result, dir, elem )从一个元素出发,迭代检索某个方向上的第N个元素jQuery.sibling( n, elem )元素n的所有后续兄弟元素,包含n,不包含elem