本文實例講述了jQuery中closest()函數用法。分享給大家供大家參考。具體分析如下:
此函數從元素本身開始,逐級向上級元素匹配,並返回最先匹配的元素。
closest()函數會首先檢查當前元素是否匹配,如果匹配則直接返回元素本身。如果不匹配則向上查找父元素,一層一層往上,直到找到匹配選擇器的元素。如果什麼都沒找到則返回一個空的jQuery對象。
語法結構一:
代碼如下:$(selector).closest(expr, context)
參數列表:
參數
描述
expr
用以過濾元素的表達式
context
可選。作為待查找的 DOM 元素集或者文檔。
實例代碼:
實例一:
代碼如下:
<!DOCTYPE html>
<html>
<head>
<meta charset=" utf-8">
<meta name="author" content="http://www.cnblogs.com/" />
<title>closest()函數-博客園</title>
<script type="text/javascript" src="mytest/jQuery/jquery-1.8.3.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$(".father p").closest("div").css("color","green");
})
</script>
</head>
<body>
<div class="father">
<div class="children"> 我是div
<p>我是孫子p</p>
</div>
<p>我是兒子p</p>
</div>
<p>我是兄弟p</p>
</body>
</html>
實例二:
代碼如下:
<!DOCTYPE html>
<html>
<head>
<meta charset=" utf-8">
<meta name="author" content="http://www.cnblogs.com/" />
<title>closest()函數-博客園</title>
<script type="text/javascript" src="mytest/jQuery/jquery-1.8.3.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$("#children p").closest("#father",document.getElementById("children")).
css("border","1px solid red");
})
</script>
</head>
<body>
<div id="father">
<div id="children">
<p>我是孫子p</p>
</div>
<p>我是兒子p</p>
</div>
<p>我是兄弟p</p>
</body>
</html>
由於id為father的div並沒有在id為children的div之內,所以並不能將其邊框設置為紅色。
語法結構二:
代碼如下:$(selector).closest(element)
參數列表:
參數
描述
element
用於匹配元素的DOM元素或者jQuery元素。
實例代碼:
實例一:
代碼如下:
<!DOCTYPE html>
<html>
<head>
<meta charset=" utf-8">
<meta name="author" content="http://www.cnblogs.com/" />
<title>closest()函數-博客園</title>
<script type="text/javascript" src="mytest/jQuery/jquery-1.8.3.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$("#children p").closest(document.getElementById("children")).
css("border","1px solid red");
})
</script>
</head>
<body>
<div id="father">
<div id="children">
<p>我是孫子p</p>
</div>
<p>我是兒子p</p>
</div>
<p>我是兄弟p</p>
</body>
</html>
實例二:
代碼如下:
<!DOCTYPE html>
<html>
<head>
<meta charset=" utf-8">
<meta name="author" content="http://www.cnblogs.com/" />
<title>closest()函數-博客園</title>
<script type="text/javascript" src="mytest/jQuery/jquery-1.8.3.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$("#children p").closest($("#children")).css("border","1px solid red");
})
</script>
</head>
<body>
<div id="father">
<div id="children">
<p>我是孫子p</p>
</div>
<p>我是兒子p</p>
</div>
<p>我是兄弟p</p>
</body>
</html>
希望本文所述對大家的jQuery程序設計有所幫助。