条件付きでエレメントを取得する

書式

YAHOO.util.Dom.getElementsBy(method, tagName, root)

method : 条件処理
tagName : 取得するタグ名【省略可能】
root : 基準位置【省略可能】

説明

 条件付きでエレメントを取得するにはYAHOO.util.Dom.getElementsBy()を使います。最初のパラメータには取得したエレメントの情報を処理する関数を指定します。関数の最初のパラメータにエレメント情報が渡されます。関数からの戻り値がtrueの場合は、対象エレメントとなりYAHOO.util.Dom.getElementsBy()の戻り値に追加されます。

サンプルコード [実行]

<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 getTag(){
var objList = YAHOO.util.Dom.getElementsBy(checkID, "div");
for(var i=0; i<objList.length; i++) {
YAHOO.util.Dom.get("result").innerHTML += objList[i].id+"<br>";
}
}
function checkID(element){
if(element.id.indexOf("box") > -1) return true; else false;
}
// --></script>
</head>
<body>
<h1>条件付きでエレメントを取得</h1>
<form>
<input type="button" value="idがboxで始まるタグを取得" onClick="getTag()"><br>
</form>
<div id="result"></div>
<hr>
<div id="box1" class="note">box1です</div>
<div id="box2" class="note">box2です</div>
<div id="note1" class="note">note1です</div>
<div id="note2" class="note">note2です</div>
</body>
</html>