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>

1)children()方法获取ul下面直接子集元素li:$("ul").children("li")

需要注意的是,如果li元素下还有li元素,children方法将不会被获取。我们可以用length来测试获取的个数“$("ul").children("li").length”,最后输出结果为3

2)find()方法获取ul下所有元素li:$("ul").find("li")

需要注意的是,find方法会无限循环查找ul标签节点下的li,一直找到没有为止。用length来测试获取个数“$("ul").find("li").length”,最后输出结果为9

children和find的区别:children只会查找直接子集,而find会跨越层级查找,一直找到没有为止。

jquery获取子元素的更多相关文章

  1. jQuery获取子元素个数的方法

    //获取id=div1下的子元素的个数 $('#id').children().length; //获取id=div1下的p元素个数 $('#id').children('p').length;

  2. jquery 获取子元素的限制jquery

    今天练习jqueryAPI发现一个问题就是子元素如果采用nth-child,元素不同就获取不到,因此一个父元素下的子元素标签必须相同,如果不同第一个元素可以用这个方法实现,但是如果第二元素及以后如果出 ...

  3. jQuery获取子元素的个数

    一.获取div下的子元素的个数 $("div").children().length; 二.获取div下的span子元素的个数 $("div").childre ...

  4. js和jquery获取子元素

    <ul id="nav"> <li></li> <li> <ul> <li></li> < ...

  5. js与jquery获取父元素,删除子元素的不同方法

    var obj=document.getElementById("id");得到的是dom对象,对该对象进行操作的时候使用js方法 var obj=$("#id" ...

  6. jquery获取当前元素的坐标

    jquery获取当前元素的坐标 1,获取对象 var obj = $("#id号"); 或  var obj = $(this); 实例中我获取的对象是弹出窗口按钮,这样创建的新窗 ...

  7. 使用jquery获取父元素或父节点的方法

    今天面试题问到了,没答上,jq要继续学习啊 jquery获取父元素方法比较多,比如parent(),parents(),closest()这些都能帮你实现查找父元素或节点,下面我们来一一讲解: 先举个 ...

  8. jquery获取html元素的绝对位置和相对位置

    jquery获取html元素的绝对位置坐标和相对父元素的位置坐标方法:绝对位置坐标:$("#elem").offset().top$("#elem").offs ...

  9. jquery获取当前元素坐标

    1. jquery获取当前元素坐标 A) 获取对象

随机推荐

  1. Mysql内置功能《一》流程控制

    delimiter // CREATE PROCEDURE proc_if () BEGIN declare i int default 0; if i = 1 THEN SELECT 1; ELSE ...

  2. ASP.NET Core中使用自定义验证属性控制访问权限

    在应用中,有时我们需要对访问的客户端进行有效性验证,只有提供有效凭证(AccessToken)的终端应用能访问我们的受控站点(如WebAPI站点),此时我们可以通过验证属性的方法来解决. 一.publ ...

  3. CentOS加入Windows域

    CentOS加入Windows域,为减少操作已经提前关掉了selinux,防火墙.并且更改了主机名 yum install  nss-pam-ldapd -y 第一步:更改主机名为linux.itxd ...

  4. angular的一些思考

    来公司做的第一个产品就是用angularjs来写的 我对整体这个产品架构的理解: 这套系统做的做的目的是实现所有的功能可配置化,使用MVC模型,有model层,view层,和controller层,m ...

  5. 报错The sandbox is not in sync with the Podfile.lock

    clone下来的项目,运行的时候报错 diff: /../Podfile.lock: No such file or directory diff: Manifest.lock: No such fi ...

  6. Navigator导航器

    import React, { Component } from 'react';import { Platform, StyleSheet, Text, View, Navigator, Touch ...

  7. NameError: name 'unicode' is not defined

    更改Unicode为str 然后重新setup install

  8. mocha测试框架

    中文翻译文档:https://www.jianshu.com/p/9c78548caffa 阮一峰:http://www.ruanyifeng.com/blog/2015/12/a-mocha-tut ...

  9. 离线安装eclipse的maven插件包

    离线安装eclipse的maven插件包 1.打开你本地的eclipse根目录,随便新建一个文件夹例如mavenPlugin,把maven离线插件包中两个文件夹复制到这个新建的这个文件夹里边 2.找到 ...

  10. (转)Go语言核心36讲之Go语言入门基础知识