今天面试题问到了,没答上,jq要继续学习啊

jquery获取父元素方法比较多,比如parent(),parents(),closest()这些都能帮你实现查找父元素或节点,下面我们来一一讲解:

先举个例子,

<ul class="parent1"><li><a href="#" id="item1">jquery获取父节点</a></li><li><a href="#">jquery获取父元素</a></li></ul>

我们的目的是通过 id 为 item1 的便签a取到 class 为 parent1 的ul元素,有以下几种方法:

1、parent([expr])

取得一个包含着所有匹配元素的唯一父元素的元素集合。

你可以使用可选的表达式来筛选。

代码如下

$('#item1').parent().parent('.parent1');

2、:parent

匹配含有子元素或者文本的元素

代码如下

$('li:parent'); 

3、parents([expr])

取得一个包含着所有匹配元素的祖先元素的元素集合(不包含根元素)。可以通过一个可选的表达式进行筛选。

代码如下

$('#items').parents('.parent1');

4、closest([expr])

closest会首先检查当前元素是否匹配,如果匹配则直接返回元素本身。如果不匹配则向上查找父元素,一层一层往上,直到找到匹配选择器的元素。如果什么都没找到则返回一个空的jQuery对象。

closest和parents的主要区别是:1,前者从当前元素开始匹配寻找,后者从父元素开始匹配寻找;2,前者逐级向上查找,直到发现匹配的元素后 就停止了,后者一直向上查找直到根元素,然后把这些元素放进一个临时集合中,再用给定的选择器表达式去过滤;3,前者返回0或1个元素,后者可能包含0 个,1个,或者多个元素。

closest对于处理事件委派非常有用。

$('#items1').closest('.parent1');

转载于:https://www.cnblogs.com/leejersey/p/3240815.html

使用jquery获取父元素或父节点的方法相关推荐

  1. js获取div元素高度和宽度的方法

    前端web页面中,js可以很方便的获取div元素的高度和宽度,那么这篇文章就说一说原生JS与JQ如何快速的获取DIV元素的高度和宽度的方法. js获取div元素高度与宽度的方法 js获取div元素的高 ...

  2. jQuery获取父元素及父节点的方法小结

    这篇文章主要介绍了jQuery获取父元素及父节点的方法,结合实例形式总结分析了jQuery针对父元素及父节点操作的常用技巧,需要的朋友可以参考下 本文实例总结了jQuery获取父元素及父节点的方法.分 ...

  3. jquery兄弟标签_jQuery获取父级、兄弟节点的方法

    原标题:jQuery获取父级.兄弟节点的方法 一.jQuery的父节点查找方法 $(selector).parent(selector):获取父节点 $(selector).parentNode:以n ...

  4. html 获取下一个兄弟节点,js jquery获取当前元素的兄弟级 上一个 下一个元素

    var chils= s.childNodes;  //得到s的全部子节点 var par=s.parentNode;   //得到s的父节点 var ns=s.nextSbiling;   //获得 ...

  5. html 获取下一个兄弟节点,JS/JQuery获取当前元素的上一个/下一个兄弟级元素等元素的方法...

    $(function(){ //遍历获取的input元素对象数组,绑定click事件 var len = $("input[type='file']").length; for(v ...

  6. 获取子元素到父元素滚动距离

    getElementTop (el) {// 获取ele元素距离父元素的offsetTop值let actualTop = el.offsetTop;// 获取该元素的有定位的父级元素let curr ...

  7. jquery 获取当前元素的前一个兄弟节点元素

    jquery  获取当前元素的前一个兄弟节点元素,可以使用 prev() 方法 示例代码 <!DOCTYPE html> <html><head><meta ...

  8. jquery兄弟标签_js jquery获取当前元素的兄弟级 上一个 下一个元素

    var chils= s.childNodes;  //得到s的全部子节点 var par=s.parentNode;   //得到s的父节点 var ns=s.nextSbiling;   //获得 ...

  9. php 获取子孙,jquery如何查找后代元素?jquery获取后代元素方法

    在上一篇我们讲到jquery获取父元素?相信你已经学会了,那么下面我们来讲一下jquery如何查找后代元素?jquery获取后代元素方法. 一: 查找后代元素三种方法 (1)children(): ( ...

  10. jquery获取设置元素宽高位置height()、width()、offset()、position()、scrollTop()、scrollLeft()

    全栈工程师开发手册 (作者:栾鹏) jquery系列教程2-style样式操作全解 jquery获取设置元素宽高位置 jquery的通过height().width().offset().positi ...

最新文章

  1. Redis宕机了怎么办?
  2. 【年终总结】2019年有三AI NLP做了什么,明年要做什么?
  3. 计算机网络应用教学反思,《计算机网络实训之常用的网络工具》教学反思
  4. Django在settings.py设置安装软件路径,遇到 'Settings' object is not subscriptable报错
  5. 没有智能安防 智能家居只是一座空中楼阁
  6. python标志变量_Python 中的 global 标识对变量作用域的影响
  7. ★LeetCode(108)——将有序数组转换为二叉搜索树(JavaScript)
  8. 取名字_新生婴儿取名字大全2021
  9. HIbernate Session 线程安全的问题
  10. C++ std::set insert 怎么得到 返回值 是什么
  11. php表单提交 邮箱_PHP的一个基础知识 表单提交
  12. 新年跨出第一步:人工智能实施这样做!
  13. C语言:计算个人所得税
  14. 前端学习笔记 - promise是什么?能解决什么问题?
  15. Shell 正则表达式与sed实例
  16. 计算机视觉 OpenCV【六:应用之颜色检测】
  17. 如何在网页里插入3D模型并进行互动展示?
  18. TEWA-700G、TEWA-1000E/G等TEWA系列光猫获取超级密码
  19. 微信小程序入门教程之四:API 使用
  20. Java名片管理系统

热门文章

  1. C++11 std::ref()
  2. vba自动生成html,动态生成嵌入在VBA电子邮件生成中的HTML表
  3. pandas之交叉表crosstab()
  4. logrotate测试_日志管理工具logrotate
  5. 排序算法 - 快速排序(java)
  6. mybatis中的SqlMapConfig.xml配置文件基本使用
  7. python中%的用法_python中%的用法
  8. jquery开关灯案例_JS/jQuery实现简单的开关灯效果【案例】_輕微_前端开发者
  9. SQL:postgresql一条sql语句查询多个count
  10. mysql 覆盖式索引_【MySQL】性能优化之 覆盖索引