prototype.js 是Sam Stephenson寫的一個Javascript的小架構(實際上是一個函數庫),該架構首頁是:http://prototype.conio.net/
下面的內容來源自http://www.sergiopereira.com/articles/prototype.js.html,本人學習的同時作個筆記,與讀者分享一下經驗心得。
呂的部落格:www.Lvjiyong.Com
這次介紹幾個相類的函數:$()、$F()、$A、$H、$R。
$() 相當於document.getElementById() ,其中間的參數可以是一個ID或多個ID。
樣本:
<HTML><HEAD><TITLE> Test Page </TITLE><script src="prototype-1.4.0.js"></script><script>function test1(){var d = $('myDiv');alert(d.innerHTML);}function test2(){var divs = $('myDiv','myOtherDiv');for(i=0; i<divs.length; i++){alert(divs[i].innerHTML);}}</script></HEAD><BODY><div id="myDiv"><p>呂的部落格歡迎您,我是內容一ID為myDiv</p></div><div id="myOtherDiv"><p>呂的部落格歡迎您,我是內容二ID為myOtherDiv</p></div><input type="button" value="取得myDiv的HTML代碼" onclick="test1();"><br><input type="button" value="取得myDiv與myOtherDiv的HTML代碼" onclick="test2();"><br></BODY></HTML>
userName:
$A()的用法就更有特殊性,主要應用於具有NodeLists 屬性的對象.使用$A('對象ID')返回的是一組Array對象,哈哈哈,這回又是對象了,還是看一下實際應用的例子吧:
<script>
function showOptions(){
var someNodeList = $('lstEmployees').getElementsByTagName('option');
var nodes = $A(someNodeList);
nodes.each(function(node){
alert(node.nodeName + ': ' + node.innerHTML);
});
}
</script>
<select id="lstEmployees" size="3" >
<option value="1">Lvjiyong.com</option>
<option value="2">www.Lvjiyong.Com</option>
<option value="3">呂的部落格</option>
</select>
<input type="button" value="顯示options" onclick="showOptions();" >
Lvjiyong.comwww.Lvjiyong.Com呂的部落格
$H()是一個對象轉化為Hash對象,我還沒實際用過,看樣子主要可能還是用於將對象轉為參數方便傳送(.NET序列化簡單明了版?),我們看看樣本吧:
<script>
function testHash()
{
//let's create the object建立對象
var a = {
first: 10,
second: 20,
third: 30
};
//now transform it into a hash轉為Hash
var h = $H(a);
alert(h.toQueryString()); //轉為字串,哈哈哈可以使用Ajax方式把這個對象的屬性傳到後台了displays: first=10&second=20&third=30
}
</script>
下面說一下今天最後要說的最後一個函數:$R()
The $R() function is simply a short hand to writing new ObjectRange(lowerBound, upperBound, excludeBounds). 哈這絕對是個很有意思的函數:指定上下限即交回你有序的Range
樣本:
<script>
function demoDollar_R(){
var range = $R(10, 20, false);
range.each(function(value, index){
alert(value);
});
}
</script>
<input type="button" value="$R的例子" onclick="demoDollar_R();" >
碼字真累,好久沒有這樣邊修改邊翻譯邊碼字了.先到這兒.