jQuery常见的遍历DOM操作详解


Posted in jQuery onSeptember 05, 2018

本文实例总结了jQuery常见的遍历DOM操作。分享给大家供大家参考,具体如下:

向上遍历DOM树

  • .parent():返回被选元素的直接父元素,该方法只会向上一级对DOM树进行遍历
  • .parents():返回被选元素的所有祖先元素,一直向上遍历,直到文档的根元素(html)
  • .parentsUntil():返回介于两个给定元素之间的所有祖先元素
<!DOCTYPE html>
<html>
<head>
<style>
.ancestors *{
display:block;
border:2px solid lightgrey;
color:lightgrey;
padding:5px;
margin:15px;
}
</style>
<script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script>
<script >
$(document).ready(function(){
$("span").parent().css({"color":"red","border":"2px solid red"});
});
</script>
</head>
<body>
<div class="ancestors">
<div style="width:500;">div(曾祖父)
<ul>ul(祖父)
<li>li(直接父)
<span>span</span>
</li>
</ul>
</div>
<div style="width:500px;">div(祖父)
<p>p(直接父)
<span>span</span>
</p>
</div>
</div>
</body>
</html>

运行结果:

jQuery常见的遍历DOM操作详解

parentsUntil()方法

$(document).ready(function(){
$("span").parentsUntil("div");
});
<!DOCTYPE html>
<html>
<head>
<style>
.ancestors *{
display:block;
border:2px solid lightgrey;
color:lightgrey;
padding:5px;
margin:15px;
}
</style>
<script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script>
<script>
$(document).ready(function(){
$("span").parentsUntil("div").css({"color":"red","border":"2px solid red"});
});
</script>
</head>
<body class="ancestors">body(增曾祖父)
<div style="width:500px;">div(曾祖父)
<ul>ul(祖父)
<li>li(直接父)
<span>span</span>
</li>
</ul>
</div>
</body>
</html>

运行结果:

jQuery常见的遍历DOM操作详解

向下遍历DOM树

  • .children():返回被选元素的所有直接子元素,该方法只会向下一级对DOM树进行遍历
  • .find():返回被选元素的后代元素,一直向下直到最后一个后代

children()方法

<!DOCTYPE html>
<html>
<head>
<style>
.descendants *{
display:block;
border:2px solid lightgrey;
color:lightgrey;
padding:5px;
margin:15px;
}
</style>
<script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script>
<script>
$(document).ready(function(){
$("div").children().css({"color":"red","border":"2px solid red"});
$("div").children("p.1").css({"color":"red","border":"2px solid red"});
});
</script>
</head>
<body>
<div class="descendants" style="width:500px;">div(当前元素)
<p class="1">p(子)
<span>span(孙)</span>
</p>
<p class="2">p(子)
<span>span(孙)</span>
</p>
</div>
</body>
</html>

运行结果:

jQuery常见的遍历DOM操作详解

find()方法

<!DOCTYPE html>
<html>
<head>
<style>
.descendants *{
display:block;
border:2px solid lightgrey;
color:lightgrey;
padding:5px;
margin:15px;
}
</style>
<script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script>
<script>
$(document).ready(function(){
$("div").find("span").css({"color":"red","border":"2px solid red"});
});
</script>
</head>
<body>
<div class="descendants" style="width:500px;">div(current element)
<p>P子
<span>span(孙)</span>
</p>
<p>p子
<span>span(孙)</span>
</p>
</div>
</body>
</html>

运行结果:

jQuery常见的遍历DOM操作详解

返回<div>所有后代

$(document).ready(function(){
$("div").find("*");
});

水平遍历DOM树

  • .siblings():返回被选元素的所有同胞
  • .next():返回被选元素下一个同胞元素
  • .nextAll():返回被选元素的所有跟随的同胞元素
  • .nextUntil():返回介于两个给定参数之间的所有跟随的同胞元素
  • .prev():返回被选元素上一个同胞元素
  • .prevAll():返回被选元素的所有之前的同胞元素
  • .prevUntil():返回介于两个给定参数之间的所有之前的同胞元素
<!DOCTYPE html>
<html>
<head>
<style>
.siblings *{
display:block;
border:2px solid lightgrey;
color:lightgrey;
padding:5px;
margin:15px;
}
</style>
<script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script>
<script>
$(document).ready(function(){
$("h2").siblings().css({"color":"red","border":"2px solid red"});
});
</script>
</head>
<body class="siblings">
<div>div(父)
<p>p</p>
<span>span</span>
<h2>h2</h2>
<h3>h3</h3>
<p>p</p>
</div>
</body>
</html>

运行结果:

jQuery常见的遍历DOM操作详解

jQuery遍历 过滤

  • first()方法:返回被选元素的首个元素
  • last()方法:返回被选元素的最后一个元素
  • eq()方法:返回被选元素中带有指定索引号的元素
  • filter()方法:允许自己规定一个标准,不匹配这个标准的元素会被从集合中删除,匹配的元素会被返回。
  • not()方法:返回不匹配的所有元素
<!DOCTYPE html>
<html>
<head>
<script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script>
<script>
$(document).ready(function(){
$("div p").first().css("background-color","yellow");
});
</script>
</head>
<body>
<h1>我心在北朝、</h1>
<div>
<p>田野上</p>
</div>
<div>
<p>红彤彤的野花</p>
</div>
<p>玲珑剔透</p>
</body>
</html>

运行结果:

jQuery常见的遍历DOM操作详解

eq()方法的使用

<!DOCTYPE html>
<html>
<head>
<script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script>
<script>
$(document).ready(function(){
$("p").eq(1).css("background-color","yellow");
});
</script>
</head>
<body>
<h1>我心在南朝、</h1>
<p>田野上</p>
<p>红彤彤的野花</p>
<p>玲珑剔透</p>
<p>我爱你</p>
</body>
</html>

运行结果:

jQuery常见的遍历DOM操作详解

filter()方法的使用

<!DOCTYPE html>
<html>
<head>
<script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script>
<script>
$(document).ready(function(){
$("p").filter(".intro").css("background-color","yellow");
});
</script>
</head>
<body>
<h1>我心在南朝、</p>
<p>田野上</p>
<p class="intro">红彤彤的草莓</p>
<p class="intro">玲玲剔透</p>
<p>我爱你</p>
</body>
</html>

运行结果:

jQuery常见的遍历DOM操作详解

感兴趣的朋友可以使用在线HTML/CSS/JavaScript代码运行工具http://tools.3water.com/code/HtmlJsRun测试上述代码运行效果。

更多关于jQuery相关内容还可查看本站专题:《jQuery操作DOM节点方法总结》、《jQuery遍历算法与技巧总结》、《jQuery表格(table)操作技巧汇总》、《jQuery扩展技巧总结》、《jQuery常见经典特效汇总》、《jquery选择器用法总结》及《jQuery常用插件及用法总结》

希望本文所述对大家jQuery程序设计有所帮助。

jQuery 相关文章推荐
jQuery实现多张图片上传预览(不经过后端处理)
Apr 29 jQuery
基于jQuery的左滑出现删除按钮的示例
Aug 29 jQuery
jQuery使用zTree插件实现可拖拽的树示例
Sep 23 jQuery
jQuery实现标签子元素的添加和赋值方法
Feb 24 jQuery
jQuery实现table表格checkbox全选的方法分析
Jul 04 jQuery
jquery 遍历hash操作示例【基于ajax交互】
Oct 12 jQuery
jquery实现直播弹幕效果
Nov 28 jQuery
jQuery Datatables 动态列+跨列合并实现代码
Jan 30 jQuery
js、jquery实现列表模糊搜索功能过程解析
Mar 27 jQuery
jQuery实现开关灯效果
Aug 02 jQuery
jQuery实现简单QQ聊天框
Aug 27 jQuery
jQuery实现增删改查
Dec 22 jQuery
jQuery实现获取及设置CSS样式操作详解
Sep 05 #jQuery
jQuery扩展方法实现Form表单与Json互相转换的实例代码
Sep 05 #jQuery
为jquery的ajax请求添加超时timeout时间的操作方法
Sep 04 #jQuery
vue-cli 引入jQuery,Bootstrap,popper的方法
Sep 03 #jQuery
详解jQuery中的easyui
Sep 02 #jQuery
JS与jQuery判断文本框还剩多少字符可以输入的方法
Sep 01 #jQuery
jQuery解析json格式数据示例
Sep 01 #jQuery
You might like
php使HTML标签自动补全闭合函数代码
2012/10/04 PHP
解析如何用php screw加密php源代码
2013/06/20 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(三)
2014/06/23 PHP
php禁用函数设置及查看方法详解
2016/07/25 PHP
php版微信公众平台实现预约提交后发送email的方法
2016/09/26 PHP
php实现替换手机号中间数字为*号及隐藏IP最后几位的方法
2016/11/16 PHP
PHP+Ajax实现的无刷新分页功能详解【附demo源码下载】
2017/07/03 PHP
javascript if条件判断方法小结
2014/05/17 Javascript
jQuery鼠标悬浮链接弹出跟随图片实例代码
2016/01/08 Javascript
Bootstrap基本插件学习笔记之Alert警告框(20)
2016/12/08 Javascript
JS中cookie的使用及缺点讲解
2017/05/13 Javascript
在使用JSON格式处理数据时应该注意的问题小结
2017/05/20 Javascript
Vue computed计算属性的使用方法
2017/07/14 Javascript
一个基于react的图片裁剪组件示例
2018/04/18 Javascript
Vue实现侧边菜单栏手风琴效果实例代码
2018/05/31 Javascript
基于Node.js搭建hexo博客过程详解
2019/06/25 Javascript
[01:03:36]Ti4 循环赛第三日DK vs Titan
2014/07/12 DOTA
Python实现自动为照片添加日期并分类的方法
2017/09/30 Python
分享Python切分字符串的一个不错方法
2018/12/14 Python
python机器学习库scikit-learn:SVR的基本应用
2019/06/26 Python
pymysql模块的使用(增删改查)详解
2019/09/09 Python
python GUI库图形界面开发之PyQt5多线程中信号与槽的详细使用方法与实例
2020/03/08 Python
基于Python测试程序是否有错误
2020/05/16 Python
解决django migrate报错ORA-02000: missing ALWAYS keyword
2020/07/02 Python
CSS3解析抖音LOGO制作的方法步骤
2019/04/11 HTML / CSS
美国婚戒购物网站:Anjays Designs
2017/06/28 全球购物
俄罗斯韩国化妆品网上商店:Cosmasi.ru
2019/10/31 全球购物
SQL Server里面什么样的视图才能创建索引
2015/04/17 面试题
.NET remoting中对象激活的两种方式
2015/06/08 面试题
优秀经理事迹材料
2014/02/01 职场文书
《两个铁球同时着地》教学反思
2014/02/13 职场文书
好学生评语大全
2014/05/05 职场文书
公司承诺书怎么写
2014/05/24 职场文书
2015年公司新年寄语
2014/12/08 职场文书
西柏坡观后感
2015/06/08 职场文书
zabbix如何添加监控主机和自定义监控项
2022/08/14 Servers