引数が複数の場合は、全ての引数に対して $ 関数を実行して結果を配列にセット して、配列自身を戻します。引数が一つの場合、文字列の場合のみ、getElementById でオブジェクト化した上で、prototype.js の Element クラスのインスタンスとして 拡張します。元々getElementById 等で取得されていたオブジェクトの場合も同様に 拡張され、prototype.js の Element クラスのインスタンスが引数の場合のみ何も しません。 ( If the element instance was already extended, this is a no-op )
function $(element) { if (arguments.length > 1) { for (var i = 0, elements = [], length = arguments.length; i < length; i++) elements.push($(arguments[i])); return elements; } if (Object.isString(element)) element = document.getElementById(element); return Element.extend(element); }
タグ:prototype.js