你的位置: 首页 > HTML5网站开发 > 正文
jQuery父子元素parent() parents() closest() children() find()用法与区别
作者:漫游   分类: HTML5网站开发    时间:2016-12-10 10:07   热度:3006°   字号:        评论:0 
作者:漫游   分类: HTML5网站开发    时间:2016-12-10 10:07   热度:3006°  评论:0 条 

这些都是在DOM中使用频率比较高的方法,这里记录一下备忘。


先上定义:

parent() 获得当前匹配元素集合中每个元素的父元素。

parents() 获得当前匹配元素集合中每个元素的祖先元素。

closest() 方法获得匹配选择器的第一个祖先元素,从当前元素开始沿 DOM 树向上。

parentsUntil() 获得当前匹配元素集合中每个元素的祖先元素,直到遇到匹配选择器的元素为止。

children() 获得匹配元素集合中每个元素的所有子元素。

find() 获得当前匹配元素集合中每个元素的后代,由选择器进行筛选。


再说人话:
parent() 只找爸爸,不找爷爷,返回一个元素或空。
parents() 爸爸爷爷曾祖父只要匹配的就一窝端,有可能返回多个元素。
closest() 从DOM树向上找匹配的第一个,爸爸匹配就返回爸爸,爸爸不匹配爷爷匹配就返回爷爷,如此类推,返回一个元素或空。
children() 只找儿子,不找孙子,与parent相同只是查找方向相反。
find() 儿子孙子曾孙只要匹配的就一窝端,与parents相同但方向相反。


更详细的可以百度或参看http://www.jb51.net/article/48850.htmhttp://www.jb51.net/article/36070.htm


PS:对于parents()和find()这类返回集合的,如果使用类似console.log(集合.html())方法,会返回第一个元素的结果。经测试,find()是按DOM从上往下顺序查找,而不是按树状一层一层往下查找,数据结构上有专门的名称,叫什么查找法但我忘了,即是说会从第一个元素一直找到底,再退回去继续往下找,只要是放在靠前面的元素,哪怕放得非常深层,都会优于放在后面的元素先被查找到。

PS2:closest()是从当前元素开始往上查找,parents()则是从父元素开始,即是说连续用closest()是不能实现逐级往上的。

瞧瞧上一篇文章去!   瞧瞧下一篇文章去!
本文标签: javascript
二维码加载中...
本文作者:漫游      文章标题: jQuery父子元素parent() parents() closest() children() find()用法与区别
本文地址:http://www.roammemo.com/html5/185.html
版权声明:若无注明,本文皆为“漫游的备忘录”原创,转载请保留文章出处。
返回顶部    首页    手机版本   
版权所有:漫游的备忘录    站长: 漫游    模板基于:博闻广记 v1.2   程序:emlog