js进阶 11-16 jquery如何查找元素的父亲、祖先和子代、后代

一、总结

一句话总结:过滤或者查找的方法里面可以带参数进行进一步的选择。

1、parent()和parents()方法的区别是什么(父亲和祖先)?

parent()找父亲,parents()找祖先

父亲只有一个,所以是单数,祖先就有很多个了,所以是复数

  • parent() 获得当前匹配元素集合中每个元素的父元素,由选择器筛选(可选)。
  • parents() 获得当前匹配元素集合中每个元素的祖先元素,由选择器筛选(可选)。
34                    // $('span').parent('.red').css('border','solid red 2px')
35 // $('.sp').parents('li').css('border','solid red 2px')

2、parentsUntil()如何使用?

方法的参数里面可以是标签和选择器,和juqery其它方法里面的东西一样

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

36                    $('.sp').parentsUntil('.inner').css('border','solid red 2px')

3、children()方法和contents()方法的异同(子代)?

都是找所有子元素,contents()范围更广,包括文本和注释节点

39                    // $('.inner').children('.red').css('border','solid red 2px')

4、jquery中如何查找一个元素的后代(后代)?

find()方法

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

40                    $('.main').find('span').css('border','solid red 2px')

二、jquery如何查找元素的父亲、祖先和子代后代

1、相关知识

查找祖先元素


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

查找后代元素


  • children() 获得匹配元素集合中每个元素的所有子元素。
  • find() 获得当前匹配元素集合中每个元素的后代,由选择器进行筛选。
  • contents() 获得匹配元素集合中每个元素的子元素,包括文本和注释节点。

    不常用,了解即可

2、代码

 <!DOCTYPE html>
<html lang="en">
<style>
</style>
<head>
<meta charset="UTF-8">
<title>演示文档</title>
<script type="text/javascript" src="jquery-3.1.1.min.js"></script>
<style>
li{
margin-top: 25px;width: 150px;
}
</style>
</style>
</head>
<body>
<ol class="main">
<li>1</li>
<li class="li2">2
<ul class="inner">
<li><span>1</span></li>
<li class="red"><span class="sp">2</span></li>
<li><span>3</span></li>
</ul>
</li>
<li>3</li>
</ol>
<input id="btn1" type="button" value='查找祖先'>
<input id="btn2" type="button" value='查找后代'>
<script type="text/javascript">
$(function(){
$('#btn1').click(function(){
// $('.sp').parent().css('border','solid red 2px')
// $('span').parent('.red').css('border','solid red 2px')
// $('.sp').parents('li').css('border','solid red 2px')
$('.sp').parentsUntil('.inner').css('border','solid red 2px')
})
$('#btn2').click(function(){
// $('.inner').children('.red').css('border','solid red 2px')
$('.main').find('span').css('border','solid red 2px')
})
})
</script>
</body>
</html>
 

js进阶 11-16 jquery如何查找元素的父亲、祖先和子代、后代的更多相关文章

  1. js进阶---12-11、jquery如何给动态创建出来的元素绑定事件

    js进阶---12-11.jquery如何给动态创建出来的元素绑定事件 一.总结 一句话总结:通过事件委托的方式,通过on方法 1.on方法在事件绑定的时候,data方式带额外参数时,字符串参数和其它 ...

  2. js进阶课程 12-9 jquery的事件对象event的方法有哪些?

    js进阶课程 12-9 jquery的事件对象event的方法有哪些? 一.总结 一句话总结:三组六个,阻止默认事件一组,阻止冒泡一组,阻止冒泡和剩余事件一组. 1.事件的默认动作指什么? 比如点a标 ...

  3. js进阶---12-12、jquery事件委托怎么使用

    js进阶---12-12.jquery事件委托怎么使用 一.总结 一句话总结:通过on方法(事件委托),给要绑定事件的元素的祖先绑定事件,从而达到效果. 1.事件委托是什么? 通过事件冒泡,让子元素绑 ...

  4. js进阶---12-10、jquery绑定事件和解绑事件是什么

    js进阶---12-10.jquery绑定事件和解绑事件是什么 一.总结 一句话总结:on和off. 1.jquery如何给元素绑定事件? on方法 22 $('#btn1').on('click', ...

  5. js进阶 13-11/12 jquery如何实现折叠导航

    js进阶 13-11/12 jquery如何实现折叠导航 一.总结 一句话总结:还是用的slideToggle滑动效果,并且这一个展开时,所有兄弟都关闭. 1.文字缩进怎么设置? 感觉设置margin ...

  6. js进阶 13-9/10 jquery如何实现三级列表

    js进阶 13-9/10 jquery如何实现三级列表 一.总结 一句话总结:用的是定位,父标签相对定位,子标签就可以绝对定位了,绝对定位的孩子还是可以设置绝对定位.用toggle设置子菜单显示和隐藏 ...

  7. js进阶 11-4/5 jquery中css的类的操作有哪些

    js进阶 11-4/5  jquery中css的类的操作有哪些 一.总结 一句话总结:jquery中css的类的操作有增删切三种. 1.jquery中css的类的操作有哪些? 增删切三种 addCla ...

  8. JavaWeb网上图书商城完整项目--11.项目所需jquery函数介绍

    1.下载jquery的函数包 2.强函数包添加到工程的web-root目录下 3.在jsp文件中加载js文件 <script type="text/javascript" s ...

  9. js进阶正则表达式方括号(方括号作用)(js正则是在双正斜杠之中:/[a-z]/g)

    js进阶正则表达式方括号(方括号作用)(js正则是在双正斜杠之中:/[a-z]/g) 一.总结 方括号:范围 圆括号:选 大括号:数量 1.js正则是在双正斜杠之中: var reg2=/[a-z]/ ...

随机推荐

  1. Excel VBA简单使用——数据缺失处理

    VBA(Visual Basic for Applications)是VB的一种宏语言.用来扩展应用程式的功能.特别是Microsoft Office软件. 转载请注明原文地址:http://blog ...

  2. Day5上午解题报告

    预计分数:100+40+30=170 实际假分数:0+0+0=0 CE*3 实际真分数:60+50+0=110 老师没把我的程序放的文件夹里面,于是..... T1 https://www.luogu ...

  3. HDU 1548 A strange lift(最短路&&bfs)

    A strange lift Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)To ...

  4. vue打包添加样式兼容前缀

    在ios8 版本上的h5对flex的支持不太好,需要有兼容的写法. vue-cli自带了postCss autoprefixer 进行兼容处理,配置如下 在vue-loader.config.js中开 ...

  5. [原创]react-vio-form 快速构建React表单应用

    react-vio-form 是一个react的快速轻量表单库,能快速实现表单构建.提供自定义表单格式.表单校验.表单信息反馈.表单信息隔离等功能.可采用组件声明或者API的形式来实现表单的功能 de ...

  6. Arch Linux实体机安装记录

    下面将记录笔者在戴尔笔记本安装arch linux的过程,用于记录,以便下次使用. 本文的内容参考arch linux官方Wiki. 首先,使用Power ISO把镜像安装到U盘,使用U盘安装. 通过 ...

  7. drawable-图片绘制

    首先看一下,下端代码 private Bitmap createSelectedChip(RecipientEntry contact, TextPaint paint) { int height = ...

  8. golang recover

    package main import "fmt" func divideByZero() { // Use this deferred function to handle er ...

  9. 记一些stl的用法(持续更新)

    有些stl不常用真的会忘qwq,不如在这里记下来,以后常来看看 C++中substr函数的用法 #include<string> #include<iostream> usin ...

  10. 在CentOS7 开发与部署 asp.net core app笔记

    原文:在CentOS7 开发与部署 asp.net core app笔记 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/lihongzhai/art ...