jQuery遍历之closest()方法
来源:互联网 发布:高金 知乎 编辑:程序博客网 时间:2024/06/12 22:13
以选定的元素为中心,往内查找可以通过find、children方法。如果往上查找,也就是查找当前元素的父辈祖辈元素,jQuery提供了closest()方法,这个方法类似parents但是又有一些细微的区别,属于使用频率很高的方法
closest()方法接受一个匹配元素的选择器字符串
从元素本身开始,在DOM 树上逐级向上级元素匹配,并返回最先匹配的祖先元素
例如:在div元素中,往上查找所有的li元素,可以这样表达
$("div").closet("li')
注意:jQuery是一个合集对象,所以通过closest是匹配合集中每一个元素的祖先元素
closest()方法给定的jQuery集合或元素来过滤元素
同样的也是因为jQuery是合集对象,可能需要对这个合集对象进行一定的筛选,找出目标元素,所以允许传一个jQuery的对象
注意事项:在使用的时候需要特别注意下
粗看.parents()和.closest()是有点相似的,都是往上遍历祖辈元素,但是两者还是有区别的,否则就没有存在的意义了
- 起始位置不同:.closest开始于当前元素 .parents开始于父元素
- 遍历的目标不同:.closest要找到指定的目标,.parents遍历到文档根元素,closest向上查找,直到找到一个匹配的就停止查找,parents一直查找到根元素,并将匹配的元素加入集合
- 结果不同:.closest返回的是包含零个或一个元素的jquery对象,parents返回的是包含零个或一个或多个元素的jquery对象
- <!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-type" content="text/html; charset=utf-8" />
<title></title>
<link rel="stylesheet" href="imooc.css" type="text/css">
<style>
.left {
width: auto;
height: 200px;
}
.left div {
width: 350px;
height: 150px;
padding: 5px;
margin: 5px;
float: left;
background: #bbffaa;
border: 1px solid #ccc;
}
span {
color: blue;
}
.borderRed{
border:3px solid red;
}
.borderblue{
border:3px solid blue;
}
</style>
<script src="http://libs.baidu.com/jquery/1.9.1/jquery.js"></script>
</head>
<body>
<h2>closest方法()</h2>
<div class="left first-div">
<div class="div">
<ul class="level-2">
<li class="item-a">A</li>
<li class="item-b">B
<ul class="level-3">
<li class="item-1">1</li>
<li class="item-2">2</li>
<li class="item-3">3</li>
</ul>
</li>
<li class="item-c">C</li>
</ul>
</div>
</div>
<br/>
<button>点击:closest传递选择器 </button>
<button>点击:closest传递一个元素对象</button>
<script type="text/javascript">
$("button:first").click(function() {
$('li.item-1').closest('.level-2').toggleClass('borderRed');
// var itemA = $('ul.level-2')
// $('li.item-1').closest(itemA).css('border','3px solid red');
// $('.item-1').closest('.level-2').css('border','1px solid red')
})
</script>
<script type="text/javascript">
$("button:last").click(function() {
// var itemB = $('.item-b')
$('li.item-1')
.closest('.item-b')
.css('border', '1px solid blue');
})
</script>
</body>
</html>
具体使用可以参考右边代码区域:
阅读全文
0 0
- jQuery遍历之closest()方法
- jQuery 遍历 - closest() 方法
- jQuery基础教程之DOM操作-遍历节点-closest()方法
- jQuery 遍历 - closest() 方法介绍及与parents()方法区别
- jQuery 之 parent、parents 和 closest 方法
- jquery closest方法
- jquery closest()方法
- jQuery closest() 方法
- jQuery源码分析之closest,has,addBack,addSelf,add方法
- jQuery 遍历- 关于closest() 的方法介绍以及与parents()的方法区别分析
- jQuery 遍历- 关于closest() 的方法介绍以及与parents()的方法区别分析
- jQuery遍历之children()方法
- jQuery遍历之find()方法
- jQuery遍历之parent()方法
- jQuery遍历之parents()方法
- jQuery遍历之next()方法
- jQuery遍历之prev()方法
- jQuery遍历之add()方法
- ssh框架:
- SpringData Jpa、Hibernate、Jpa 三者之间的关系
- crontab调度shell的小问题
- jdk 源码分析(13)java ExecutorService 和Executors
- MySQL 数据库导出导入操作
- jQuery遍历之closest()方法
- 0803-Java面向对象基础
- 暑假集训日记--8.4--搜索
- hdu2566 统计硬币(C语言)
- 归并函数
- DBCP与C3P0连接池以及基本分页的实现
- LeetCode Graph:M207_Course_Schedule
- 将轮播图组件化
- 杂记(一些CSS的透明,阴影,渐变样式以及关于浏览器缩放的对应操作)