English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

JQueryで要素の親要素と祖先を巡回する方法

JQuery巡回

まず、何が「親」、「子」、「後裔」、「同僚」、「祖先」というのかを知る必要があります

•<div>要素は<ul>の親要素であり、すべての内容の祖先。

•<ul>要素は<li>の親要素であり、同時に<div>の子要素

•左の<li>要素は<span>の親要素であり、<ul>の子要素であり、同時に<div>の後裔。

•<span>要素は<li>の子要素であり、同時に<ul>と<div>の後裔。

•2つの<li>要素は同僚(同じ親要素を持つ)。

•右の <li>要素は<b>の親要素であり、<ul>の子要素であり、同時に<div>の後裔。

•<b>要素は右の <li>の子要素であり、同時に <ul>と <div>の後裔。

親クラスと祖先の巡回

1.parent()

直接の親を巡回し、他の祖先には遡らない

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>タイトルなしドキュメント</title>
<style type="text/css">
</style>
<script type="text/javascript" src="jQuery/jquery-1.12.1.js"></script>
<script type="text/javascript">
$(function(){
	$("#btn").click(function(){
			$("#info").html("div4の父+$("#div4").parent().attr("id"));
  });
});
</script>
</head>
<body>
<input type="button" value="クリック" id="btn"><div id="info"></div>
<div id="div1">
 <div id="div2">
  <div id="div3">
    <div id="div4">
  		</div>
  </div>
 </div>
</div>
</body>
</html>

2.parents()

すべての祖先を巡回する

.each(function(i,e){})

各要素をそれぞれ巡回する

その中のiはインデックス、eは現在のオブジェクトで、$(this)と同じだが、前者はjsオブジェクト、後者はjQueryオブジェクト。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>タイトルなしドキュメント</title>
<style type="text/css">
</style>
<script type="text/javascript" src="jQuery/jquery-1.12.1.js"></script>
<script type="text/javascript">
$(function(){
	$("#btn").click(function(){
			$("#div4").parents().each(function(i, e) {
        $("#info").html($("#info").html()+「第"+i+「ここのじいは,("+$(this).attr("id")+");
      });
  });
});
</script>
</head>
<body>
<input type="button" value="クリック" id="btn"><div id="info"></div>
<div id="div1">
 <div id="div2">
  <div id="div3">
    <div id="div4">
  		</div>
  </div>
 </div>
</div>
</body>
</html>

それでは、何を考えているのか、3番目と4番目の祖先は何か、ウェブページでF12デバッグして、結果を見てみよう

i=3 つまり、3番目の祖先に達した結果はbody

 

i=4 つまり、4番目の祖先に達した結果はhtml

3.parentsUntil()

指定の祖先に遡る(その祖先を含まない)

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>タイトルなしドキュメント</title>
<style type="text/css">
</style>
<script type="text/javascript" src="jQuery/jquery-1.12.1.js"></script>
<script type="text/javascript">
$(function(){
	$("#btn").click(function(){
			$("#div4").parentsUntil("#div1").each(function(i, e) {
        $("#info").html($("#info").html()+「第"+i+「ここのじいは,("+$(this).attr("id")+");
      });
  });
});
</script>
</head>
<body>
<input type="button" value="クリック" id="btn"><div id="info"></div>
<div id="div1">
 <div id="div2">
  <div id="div3">
    <div id="div4">
  		</div>
  </div>
 </div>
</div>
</body>
</html>

したがって、かんかいは#div4と#div1なかには#div はふくまれていません1

以上のこのJQuery でめがきのいちらんを、みなさまにしゃうかしていただけたらと思います。もしお手伝いできたら、もらいたいです。

おすすめ