prototype.js 分析 Element.Methods

toggle

  • $('test1', 'test2', 'test3')は拡張された要素が配列でかえってくるので、eachで各要素に処理を加えます。
  • コメントアウトしている箇所は$w関数なので注意。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 
	"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS" />
<title>sample site</title>
<script src="prototype1.6.js"></script>
<script>
function $(element){
	if(arguments.length > 1){
		for(var i=0, elements = [], length = arguments.length; i<length; i++)
			elements.push($(arguments[i]));
		return elements;
	}
	if(typeof(element) == "string")
		element = document.getElementById(element);
	return Element.extend(element);
}
function test(){
//	var array = $w("test1 test2 test3").collect(function(v, k){
//		return $(v);
//	});
//	array.each(function(v, k){
//		v.toggle();
//	});
	$('test1', 'test2', 'test3').each(function(v, k){
		v.toggle();
	})
		
		
}
</script>
</head>

<div id="test1">
HOGE1
</div>
<div id="test2">
HOGE2
</div>
<div id="test3">
HOGE3
</div>

<p onclick="test()"> click </p>