Prototpye 學習手記(1)

來源:互聯網
上載者:User
根據prototype的文檔,第一部分,utility method

1.$
  $() 方法是prototype最基礎的方法。
  它相當於對document.getElementById()方法做了封裝
  文法如下:
    $(id | element) -> HTMLElement
    $((id | element)...) -> [HTMLElement...]
  第一行:輸入一個參數,返回一個對象,或者null
  第二行:輸入一個數組,返回一個對象數組

  以table元素為例,假設其id為idSample,則如下三種用法將返回同樣的結果:
  $('idSample');
  $(idSample);
  var obj = document.getElementById("idSample"); $(obj);

  如果對返回的對象進行後續操作,需要進行檢查對象(數組的元素)是否為null,以免產生javascript錯誤。

2.$$
  $$(cssRule...) -> [HTMLElement...]
  $$()方法用於根據給定的條件(CSS),在document中尋找元素對象,以數組的形式返回
  根據條件的不同,$$()用法相當靈活,相當於對document.getElementsByTagName(), prototype的getElementsByClassName()等方法進行了封裝。
  常用的搜尋條件有:
  a. tagName  例如 $$('div');
  b. id       例如 $$('#idSample');
  c. 子項目   例如 $$('#navbar a', '#sidebar a');
     子項目與父元素用空格表示,本例尋找兩個指定id的元素之內的所有連結化物件
  d. 屬性
     例1: $$('#idSample a[rel]');  指定對象中,所有具有rel屬性的連結
     例2: $$('a[href="#"');  所有href屬性的值為#的連結
  e. 樣式的class
     例: $$('li.faux');  // -> 所有class為faux的li元素

  這是5種最基本的條件,在v1.5.1之後,還根據CSS 3增加了更多的條件,詳見prototype的手冊。

  對於參與,必須使用字串,不能像$()方法那樣,使用$(tr)的方式,必須使用$$('tr')

3.$A
  $A(iterable) -> actualArray
  將一個類似於數組的集合對象,轉換為一個真正的數組對象
  好處:可以使用Prototype提供的數組的各種擴充方法

4.$F
  $F(element) -> value
  擷取Form中某個元素的值
  問題1: 參數,對象? Name? ID?
      Q: Name, ID 都可以
  問題2: 頁面中有多個form, 會怎麼樣?
      Q: 不管哪個form的,找到哪個算哪個
  其他:
      如果指定的對象不存在,會導致javascript錯誤

5.$H
  $H([obj]) -> Hash
  將對象轉換為一個map

6.$R
  $R(start, end[, exclusive = false]) -> ObjectRange
  返回一個範圍
  可以是數字、字元、字串,或者其他任意可以有範圍的對象
  預設情況下,包含定義時指定的上下邊界對象

7.$w
  $w(String) -> Array
  以空格為分隔字元,將字串轉換為數組
  問題:如果有多個空格連在一起,效果是什嗎?
  結論:跟一個空格同樣處理

8.Try.these
  Try.these(Function...) -> firstOKResult
  給定function列表,依次執行,遇到執行成功的方法即停止,返回該方法的傳回值

//不能貼附件哦,學習的範例代碼如下:
http://download.csdn.net/source/453849#aa

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.