Jquery获取子元素的方法有2种,分别是children()方法和find()方法。下面我们分别来使用这两种方法,看看它们有何差异。
网站建设哪家好,找成都创新互联公司!专注于网页设计、网站建设、微信开发、微信小程序开发、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了茫崖免费建站欢迎大家使用!
children()方法:获取该元素下的直接子集元素
find()方法:获取该元素下的所有子集元素
可以使用jQuery的children方法来获取某个元素下的所有子元素。如果给定表示 DOM 元素集合的 jQuery 对象,.children() 方法允许我们检索 DOM 树中的这些元素,并用匹配元素构造新的 jQuery 对象。.find() 和 .children() 方法类似,不过后者只沿着 DOM 树向下遍历单一层级。
工具原料:编辑器、浏览器
1、使用children方法可以获得选择器下的所有子元素,代码实例如下:
!DOCTYPE html
html
head
script type="text/javascript" src="/jquery/jquery.js"/script
style
body { font-size:16px; font-weight:bolder; }
p { margin:5px 0; }
/style
/head
body
div
spanHello/span
p class="selected"Hello Again/p
div class="selected"And Again/div
pAnd One Last Time/p
/div
script$("div").children(".selected").css("color", "blue");/script
/body
/html
2、运行的结果是找到类名为 "selected" 的所有 div 的子元素,并将其设置为蓝色,结果如下:
需要准备的材料分别有:电脑、html编辑器、浏览器。
1、首先,打开html编辑器,新建html文件,例如:index.html,并引入jquery。
2、在index.html中的script标签,输入jquery代码:
$('body').append($('div:first').text());
$('body').append($('div:last').text());
3、浏览器运行index.html页面,此时通过jquery获取了第一个div和最后一个div并打印了其内容。
1.next();//获取当前元素的下一个兄弟元素
2.nextAll();//获取当前元素后面所有的兄弟元素
3.prev();//获取当前元素的前一个兄弟元素
4.prevAll();//获取当前元素前面的所有兄弟元素
5.siblings();//获取当前元素的所有兄弟元素
6.children();//获取一个元素的直接子元素,类似于 $(‘ul li’)
7.find();//获取一个元素的某种所有子元素,类似于 $(‘ul li’)
8.parent();//获取当前元素的父元素
参考
query获取子元素的方法有2种,分别是children()方法和find()方法。下面我们分别来使用这两种方法,看看它们有何差异。
children()方法:获取该元素下的直接子集元素
find()方法:获取该元素下的所有子集元素
分别以以下HTML代码为例:ullilist1ullilist1-1/lililist1-2/li/ul/lililist2ullilist2-1/lililist2-2/li/ul/lililist3ullilist3-1/lililist3-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会跨越层级查找,一直找到没有为止。
1、获取第一个子元素有如下方法:
(1):first
举:$('div.one:first'),获取所有class="one"的div的第一个div子元素。这里的限制在于父子元素都是同一种,即父元素如果是span标签,获取的第一个子元素也是span标签,如果父元素是table标签,获取的子元素也是table标签。
(2):first-child
如:$('div.one:first-child'),获取所有class="one"的div的第一个子元素,注意是“所有”,意思是说,如果这个div有多外,那么获取的第一个子元素也是有多个。
(3)使用eq()方法
如:$('div.one span:eq(1)'),获取class="one"下的div的第一个span子元素,同(2)一样,也是有多个div也是获取多个div的第一个元素。
可以通过获取id,或者直接在父层限制一个eq(1)这样的形式去获取惟一一个子元素