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插件FusionCharts实现的MSBar3D图效果示例【附demo源码】
Mar 23 jQuery
如何选择jQuery版本 1.x? 2.x? 3.x?
Apr 01 jQuery
jQuery实现的简单前端搜索功能示例
Oct 28 jQuery
jquery如何实现点击空白处隐藏元素
Dec 05 jQuery
jquery根据name取得select选中的值实例(超简单)
Jan 25 jQuery
jQuery代码优化方法总结
Jan 29 jQuery
jQuery常见的遍历DOM操作详解
Sep 05 jQuery
jquery使用FormData实现异步上传文件
Oct 25 jQuery
jquery操作checkbox的常用方法总结【附测试源码下载】
Jun 10 jQuery
jquery实现垂直无限轮播的方法分析
Jul 16 jQuery
基于JQuery和DWR实现异步数据传递
Oct 16 jQuery
jQuery实现容器间的元素拖拽功能
Dec 01 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
用Flash图形化数据(一)
2006/10/09 PHP
文件上传程序的全部源码
2006/10/09 PHP
joomla jce editor 解决上传中文名文件失败问题
2013/06/09 PHP
PHP开发工具ZendStudio下Xdebug工具使用说明详解
2013/11/11 PHP
使用Zookeeper分布式部署PHP应用程序
2019/03/15 PHP
PHP常见的序列化与反序列化操作实例分析
2019/10/28 PHP
学习YUI.Ext 第四天--对话框Dialog的使用
2007/03/10 Javascript
jQuery 获取/设置/删除DOM元素的属性以a元素为例
2014/05/23 Javascript
非jQuery实现照片散落桌子上,单击放大的LightBox效果
2014/11/28 Javascript
JS实现网页每隔3秒弹出一次对话框的方法
2015/11/09 Javascript
JavaScript中split与join函数的进阶使用技巧
2016/05/03 Javascript
基于js对象,操作属性、方法详解
2016/08/11 Javascript
深入理解JavaScript中的并行处理
2016/09/22 Javascript
Javascript oop设计模式 面向对象编程简单实例介绍
2016/12/13 Javascript
JavaScript表单验证完美代码
2017/03/02 Javascript
详解vue-resource promise兼容性问题
2017/06/20 Javascript
JavaScript实现时间表动态效果
2017/07/15 Javascript
详解在React项目中安装并使用Less(用法总结)
2019/03/18 Javascript
详解Js里的for…in和for…of的用法
2019/03/28 Javascript
jQuery表单校验插件validator使用方法详解
2020/02/18 jQuery
python 上下文管理器使用方法小结
2017/10/10 Python
python print输出延时,让其立刻输出的方法
2019/01/07 Python
Python pandas用法最全整理
2019/08/04 Python
浅谈Python 敏感词过滤的实现
2019/08/15 Python
python进阶之自定义可迭代的类
2019/08/20 Python
python装饰器使用实例详解
2019/12/14 Python
Python基于smtplib模块发送邮件代码实例
2020/05/29 Python
Python爬虫抓取论坛关键字过程解析
2020/10/19 Python
初中校园之声广播稿
2014/01/15 职场文书
组织关系转移介绍信
2014/01/16 职场文书
银行贷款承诺书
2014/03/29 职场文书
反四风个人对照检查材料
2014/09/26 职场文书
人事部:年度述职报告范文
2019/07/12 职场文书
为什么说餐饮很难做,是因为你不了解这些新规则
2019/08/20 职场文书
Redis 报错 error:NOAUTH Authentication required
2022/05/15 Redis
关于Redis的主从复制及哨兵问题
2022/06/16 Redis