ノードを追加するにはBuilder.node()を使います。Builder.node()の書式は以下のようになります。
Builder.node( elementName ) 
Builder.node( elementName, attributes ) 
Builder.node( elementName, children ) 
Builder.node( elementName, attributes, children )
 一括してエレメント(タグ)と属性や内容を指定することができます。以下のサンプルはpタグを追加しスタイルシートのnoteクラスを指定し、テキストを追加するものです。スタイルシートのnoteクラスでは文字の色を赤に指定しているためノードを追加すると赤い文字で追加されます。(サンプルを
実行する)
			<html>
			<head>
			<meta http-equiv="content-type" content="text/html;charset=utf-8">
			<title>ノードを追加する</title>
			<link rel="stylesheet" href="main.css" type="text/css" media="all">
			<script type="text/javascript" src="prototype.js"></script>
			<script type="text/javascript" src="scriptaculous.js"></script>
			<script type="text/javascript"><!--
			function addNode()
			{
			 elementObj = Builder.node("p",{className:"note"},"赤い文字で表示されるはず...");
			 $("contents").appendChild(elementObj);
			 elementObj = Builder.node("p",{},"ここは普通の黒い文字で表示されるはず...");
			 $("contents").appendChild(elementObj);
			}
			// --></script>
			</head>
			<body>
			<h1>scriptaculous.js ノードを追加する</h1>
			<form>
			<input type="button" value="ノードを追加" onClick="addNode()">
			</form>
			<div id="contents"></div>
			</body>
			</html>
 Builder.node()はフラットなエレメントの追加だけでなく、入れ子(ネスト)にしたエレメントを追加することもできます。この場合には三番目のパラメータに配列要素としてBuilder.node()を記述していくことで、何重にも入れ子にすることができます。以下のサンプルではdivタグ内にspanタグを追加するものです。(サンプルを
実行する)
			<html>
			<head>
			<meta http-equiv="content-type" content="text/html;charset=utf-8">
			<title>ノードを追加する(入れ子)</title>
			<link rel="stylesheet" href="main.css" type="text/css" media="all">
			<script type="text/javascript" src="prototype.js"></script>
			<script type="text/javascript" src="scriptaculous.js"></script>
			<script type="text/javascript"><!--
			function addNode()
			{
			 elementObj = Builder.node("div",{className:"note"},
			  [Builder.node("span", { style:"background-color:orange"}, "Sample")]
			  );
			 $("contents").appendChild(elementObj);
			}
			// --></script>
			</head>
			<body>
			<h1>scriptaculous.js ノードを追加する(入れ子)</h1>
			<form>
			<input type="button" value="ノードを追加" onClick="addNode()">
			</form>
			<div id="contents"></div>
			</body>
			</html>
[
目次へ]
(2006.7.4)