首頁 > web前端 > 前端問答 > jquery怎麼判斷一個元素是否是另一個元素的子元素

jquery怎麼判斷一個元素是否是另一個元素的子元素

青灯夜游
發布: 2022-11-07 19:10:09
原創
2202 人瀏覽過

兩種方法:1、使用children()和length屬性進行判斷,語法“指定元素物件.children(指定子元素物件).length==0”,如果傳回值為真則不存在,反之則存在。 2.使用find()和length屬性進行判斷,語法“指定元素物件.find(指定子元素物件).length==0”,如果傳回值為真則不存在,反之則存在。

jquery怎麼判斷一個元素是否是另一個元素的子元素

本教學操作環境:windows7系統、jquery3.6.1版本、Dell G3電腦。

判斷一個元素是否為另一個元素的子元素,就是判斷一個元素的子元素是否為另一個指定元素。

在jquery中,想要找出子元素有兩種方法:

  • children()方法:取得該元素下的直接子集元素

  • find()方法:取得該元素下的所有(包含子集的子集)子集元素

因此利用這兩個方法可以判斷一個元素是否是另一個元素的子元素。

方法1:使用children()和length屬性來判斷

children() 方法傳回傳回被選取元素的所有直接子元素。

用來判斷指定元素A中是否存在指定子元素B的語法:

A.children(B).length==0
登入後複製
  • #A.children(B),會傳回A元素的所有直接子元素B物件集合

  • 物件集合.length==0,判斷物件集合是否為0,若為0則不存在,反之則存在

範例:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<script src="js/jquery-3.6.1.min.js"></script>
		<style>
			div * {
				display: block;
				border: 2px solid lightgrey;
				color: lightgrey;
				padding: 5px;
				margin: 15px;
			}
		</style>

		<script>
			$(document).ready(function() {
				$("button").on("click", function() {
					$("ul").children("#box").css({
						"color": "red",
						"border": "2px solid red"
					});
					var number =$("ul").children("#box").length;
					console.log(number);
					if (number == 0) {
						  console.log("不含");
					}else{
					     console.log("含有");
					}
				});
			});
		</script>
	</head>

	<body class="ancestors">
		<div style="width:500px;">div (父节点)
			<ul>ul (指定元素)
				<li id="box">li (子节点1)
					<span>span (孙节点1)</span>
				</li>
				<li>li (子节点2)
					<span>span (孙节点2)</span>
				</li>
				<li>li (子节点3)
					<span>span (孙节点3)</span>
				</li>
			</ul>
		</div>
		<button>选取ul的所有子元素#box</button>
	</body>

</html>
登入後複製

jquery怎麼判斷一個元素是否是另一個元素的子元素

#方法2:使用find()和length屬性進行判斷

find() 方法取得目前元素集合中每個元素的後代,透過選擇器、jQuery 物件或元素來篩選。

判斷語法:

A.find(B).length==0
登入後複製

語法意思其實和方法1類似,可參考。

範例:

<script>
	$(document).ready(function() {
		$("button").on("click", function() {
			$("ul").find("#box").css({
				"color": "red",
				"border": "2px solid red"
			});
			var number =$("ul").find("#box").length;
			console.log(number);
			if (number == 0) {
				  console.log("不含");
			}else{
				 console.log("含有");
			}
		});
	});
</script>
登入後複製

jquery怎麼判斷一個元素是否是另一個元素的子元素

【推薦學習:jQuery影片教學web前端影片

以上是jquery怎麼判斷一個元素是否是另一個元素的子元素的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板