jquery find和children(jQuery中children和find的区别)

本文目录
jQuery中children和find的区别
首先看一段html代码,如下:
1
2
3
4
5
6
7
8
9
10
11
12
0
1
2
3
4
5
如果要获取第二个tr里的第二个td的值:
children:
$("#tb》tbody").children("tr:eq(1)
td:eq(1)").html()
find
:
$("#tb》tbody").find("tr:eq(1)
td:eq(1)").html()
结果,通过children获取的值为:null,而通过find获取的值为:4
这是为什么呢?
查了一下资料,通过children获取的是该元素的下级元素,而通过find获取的是该元素的下级所有元素。
这时回到上面,可以得出,$("#tb》tbody").children()
获取的是两个tr元素(不包括它们子元素td),
而children里面的选择器则是在获取的两个tr元素里再根据条件进行筛选,所以上面那种写法获取不到值。
如果一定用children可以这样写:
$("#tb》tbody").children("tr:last").children("td:eq(1)").html()
jquery如何获取没有子节点的元素
Jquery获取子元素的方法有2种,分别是children()方法和find()方法。下面我们分别来使用这两种方法,看看它们有何差异。
children()方法:获取该元素下的直接子集元素
find()方法:获取该元素下的所有子集元素
分别以以下HTML代码为例:《ul》《li》list1《ul》《li》list1-1《/li》《li》list1-2《/li》《/ul》《/li》《li》list2《ul》《li》list2-1《/li》《li》list2-2《/li》《/ul》《/li》《li》list3《ul》《li》list3-1《/li》《li》list3-2《/li》《/ul》《/li》《/ul》
children()方法获取ul下面直接子集元素li:$("ul").children("li")
需要注意的是,如果li元素下还有li元素,children方法将不会被获取。我们可以用length来测试获取的个数“$("ul").children("li").length”,最后输出结果为3
find()方法获取ul下所有元素li:$("ul").find("li")
需要注意的是,find方法会无限循环查找ul标签节点下的li,一直找到没有为止,用length来测试获取个数“$("ul").find("li").length”,最后输出结果为9
children和find的区别:children只会查找直接子集,而find会跨越层级查找,一直找到没有为止。

更多文章:
fontcreator怎么导入字体(如何在FontCreator中加入我想要的字)
2025年7月10日 20:00
wordpress主题二次元(怎么用wordpress搭建情侣博客怎么自己弄情侣主题求达人详细赐教!)
2025年7月4日 02:00
腾讯会议怎么向主持人询问后台记录并保存?手机储存内容会被APP浏览并上传保存APP后台服务器吗连着WIFI
2025年7月21日 04:00
正则高考复读学校(2022南京高三复读有哪些学校 南京复读学校名单)
2025年8月7日 13:30
verify例句(please-slide-to-verify是什么意思)
2025年12月5日 06:45
false的副词(英语试卷判断对错,T和F,哪个是对,那个是错)
2026年7月29日 00:00
go语言需要编译吗(Go语言能在安卓运行吗 Go是脚本语言还是汇编)
2026年3月18日 20:00
有哪些js框架(web前端三大主流框架是什么 都有哪些功能)
2025年9月22日 16:30
springfestival六年级作文(六年级过春节英语作文300字)
2026年2月27日 20:45
在java语言中下列说法正确的是(Java语言说法正确的有())
2026年9月9日 20:30
edittext下划线颜色(android 如何使EditText中不同行显示不同的颜色(两种颜色))
2026年5月15日 11:30
帝国cms手机端(请教帝国cms中的手机端同步插件bug 修复方法)
2026年1月18日 22:15











