jQuery トラバーサル - 祖先
DOM を上にたどります
parent()
parents()
parentsUntil()
parent() メソッド
parent() メソッドは、選択した要素の直接の親要素を返します。
このメソッドは、1 レベル上の DOM ツリーのみを走査します。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<style>
.ancestors *
{
display: block;
border: 2px solid lightgrey;
color: lightgrey;
padding: 5px;
margin: 15px;
}
</style>
<script src="http://libs.baidu.com/jquery/1.10.2/jquery.min.js"></script>
<script>
$(document).ready(function(){
$("span").parent().css({"color":"blue","border":"2px solid red"});
});
</script>
</head>
<body>
<div class="ancestors">
<div style="width:300px;">div (曾祖父元素)
<ul>ul (祖父元素)
<li>li (父元素)
<span>span</span>
</li>
</ul>
</div>
<div style="width:300px;">div (祖父元素)
<p>p (父元素)
<span>span</span>
</p>
</div>
</div>
</body>
</html>parents() メソッド
parents() メソッドは、ドキュメントのルート要素 (<html>) に至るまで、選択された要素のすべての祖先要素を返します。
<!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/1.10.2/jquery.min.js">
</script>
<script>
$(document).ready(function(){
$("span").parents("ul").css({"color":"red","border":"2px solid red"});
});
</script>
</head>
<body class="ancestors">body (great-great-grandparent)
<div style="width:300px;">div (great-grandparent)
<ul>ul (grandparent)
<li>li (direct parent)
<span>span</span>
</li>
</ul>
</div>
</body>
</html><ul> 要素であるすべての <span> 要素のすべての祖先を返します。
parentsUntil() メソッド
parentsUntil() メソッドは、指定された 2 つの要素の間にあるすべての祖先要素を返します。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<style>
.ancestors *
{
display: block;
border: 2px solid lightgrey;
color: lightgrey;
padding: 5px;
margin: 15px;
}
</style>
<script src="http://libs.baidu.com/jquery/1.10.2/jquery.min.js">
</script>
<script>
$(document).ready(function(){
$("span").parentsUntil("div").css({"color":"blue","border":"3px solid green"});
});
</script>
</head>
<body class="ancestors"> body (曾曾祖父元素)
<div style="width:300px;">div (曾祖父元素)
<ul>ul (祖父元素)
<li>li (父元素)
<span>span</span>
</li>
</ul>
</div>
</body>
</html><span> 要素と <div> の間にあるすべての祖先要素を返します。
新しいファイル
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>php中文网(php.cn)</title>
<script src="http://libs.baidu.com/jquery/1.10.2/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$("li").parentsUntil(".inner",".second").css({"border":"3px solid blue", "width":"200px"});
})
</script>
</head>
<body>
<div class="outer">
<div>php中文网</div>
<div class="inner">
<ul class="first">
<li>HTML专区</li>
<li>Javascript专区</li>
<li>Div+CSS专区</li>
<li>Jquery专区</li>
</ul>
<ul class="second">
<li>HTML专区</li>
<li>Javascript专区</li>
<li>Div+CSS专区</li>
<li>Jquery专区</li>
</ul>
</div>
</div>
</body>
</html>
プレビュー
Clear
- おすすめコース
- コースウェアのダウンロード
現時点ではコースウェアはダウンロードできません。現在スタッフが整理中です。今後もこのコースにもっと注目してください〜
このコースを視聴した生徒はこちらも学んでいます
















