Dive Into Prototype.js(1)--$系変数
$( )
DOMのdocument.getElementById()関数のショートカットです。
DOMより進化しています。メソッドが拡張されました。
(ELEMENTオブジェクトのリファレンスを参照)
<!-- test-1.html --> <html> <head> <script src="prototype-1.6.0.2.js" type="text/javascript"> </script> <script type="text/javascript"> function test$(){ var div = $('target'); alert(div.innerHTML); div.hide(); } ///////////////// // MAIN // ///////////////// </script> </head> <body > <div id="target">test</div> <input type='button' onClick="test$();" value="TEST"/> </body> </html>
$$( )
CSSタグからオブジェクトを受け取る関数です。
マッチする要素の配列を返します。
<!-- test-2.html --> <html> <head> <script src="prototype-1.6.0.2.js" type="text/javascript"> </script> <script type="text/javascript"> function test$$(){ // Note: #->id, .->class // div#idName : タグがdivでid=idName // .field : class=field // input : タグがinput var form = $$('div#idName .field input', 'div#idName .fieldName'); var str = ""; for(var i=0;i<form.length; i++){ str += (form[i].value ? form[i].value : form[i].innerHTML) + ":";; } alert(str); } ///////////////// // MAIN // ///////////////// </script> </head> <body > <div id="idName"> <div class="field"> <span class="fieldName">UserName:</span> <input type="text" id="txtName" value="Roka" /> </div> <div class="field"> <span class="fieldName">Password:</span> <input type="password" id="txtPass" value="secret" /> </div> <input type="submit" value="login"> </div> <input type="button" value="TEST$$" onclick="test$$();" /> </body> </html>
$F( )
テキストボックスやドロップダウンリストなどの入力フォーム値返します。
function test$F(){ alert($F('UserName')); } ...... <input type="text" id="UserName" value="Roka" /> <input type="button" value="TEST$F" onclick="test$F();" />
$A( )
列挙可能なリストを配列に変換し、コピーします。
DOMのNodeListsから通常配列へ変換する場合よく使用します。
function test$A(){ var nodeList = $('names').getElementsByTagName('option'); var nodes = $A(nodeList); nodes.each(function(memberNode){ alert(memberNode.nodeName + ":" + memberNode.value + "," + memberNode.innerHTML); }); } ...... <select id="names" size="10"> <option value="1">Roka</option> <option value="2">Lee</option> <option value="3">Betty</option> </select> <input type="button" value="Show" onclick="test$A();" />
$H( )
列挙可能なHASHオブジェクト(連想配列)に変換します。
連想配列からGETパラメータを作成する場合よく使用します。
function test$H(){ var obj = { "1st":1, "2nd":2, "3rd":3 }; var hash = $H(obj); alert(hash.toQueryString()); // Shows: 1st=1&2nd=2&3rd=3 } ...... <input type="button" value="TEST$H" onclick="test$H();" />
$R( )
new ObjectRange(lowerBound, upperBound, excludeBounds)のショートカットです。
$w( )
空白はデリミタとして文字列を配列に変換する。
>>> $w("a b c");
["a", "b", "c"]
$w("a b c").echo(function...);