prototype.js輕量級WEB開發的首選ajax架構(一)

來源:互聯網
上載者:User
  •  

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();" >

碼字真累,好久沒有這樣邊修改邊翻譯邊碼字了.先到這兒.

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.