上位エレメントかどうか調べる

書式

YAHOO.util.Dom.isAncestor(parentElement, element)

parentElement : 上位エレメント(祖先)
element : 含まれるエレメント(子孫)

説明

 上位エレメントかどうか調べるにはYAHOO.util.Dom.isAncestor()を使います。最初のパラメータには上位のエレメントを指定し、2番目に上位エレメントに含まれているかどうか調べるエレメントを指定します。上位エレメントの子孫である場合はtrue、そうでない場合はfalseとなります。このメソッドは単純に親オブジェクトであるか調べるものではなく、ドキュメントルートまでたどって結果を返します。

サンプルコード [実行]

<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8">
<title>Sample</title>
<link rel="stylesheet" href="main.css" type="text/css" media="all">
<script type="text/javascript" src="yahoo.js"></script>
<script type="text/javascript" src="dom.js"></script>
<script type="text/javascript"><!--
function check(){
var flag1 = YAHOO.util.Dom.isAncestor("box1","sub");
var flag2 = YAHOO.util.Dom.isAncestor("box2","sub");
YAHOO.util.Dom.get("result").innerHTML = "box1:"+flag1+"<br>box2:"+flag2;
}
// --></script>
</head>
<body>
<h1>上位エレメントかどうか調べる</h1>
<form>
<input type="button" value="チェック" onClick="check()">
</form>
<div id="box1">box1です。</div>
<div id="box2">box2です。<span id="sub">box2のsubです。</span></div>
<div id="result"></div>
</body>
</html>