天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

Mootools 1.2教程(3) 數組使用簡介

今天,我們在來看看如何使用數組來管理DOM元素。
基本方法
.each();
在處理數組時,.each();方法是你最好的朋友。它提供了一種很容易的方法來遍歷數組的每個元素,如果有需要還可以對其中的元素進行任何邏輯處理。例如,我們可以假設你需要為頁面中的每個div對象調用alert方法:
參考代碼: 復制代碼 代碼如下:
$$('div').each(function() {
alert('a div');
});

如果使用下面的HTML代碼,上面的JavaScript代碼將彈出兩個alert對話框,每個div一個。
參考代碼: 復制代碼 代碼如下:
<div>One</div>
<div>Two</div>

.each();方法不需要你使用$$方法。創建一個數組的另一種方式(就像我們昨天講到過的)是使用.getElements();方法。
參考代碼: 復制代碼 代碼如下:
$('body_wrap').getElements('div').each(function() {
alert('a div');
});

參考代碼: 復制代碼 代碼如下:
<div id="body_wrap">
<div>One</div>
<div>Two</div>
</div>

還有另外一種方法來完成這個相同的任務,就是把這個數組賦值給一個變量,然后對那個變量使用.each();方法:
參考代碼: 復制代碼 代碼如下:
// 首先你需要通過語句”var VARIABLE_NAME“來聲明一個變量
// 然后用等于運算符”=“來給這個變量賦值
// 在這個例子中,是一個包含div元素的數組
var myArray = $('body_wrap').getElements('div');
// 現在你就可以把這個變量當數組選擇器使用了
myArray.each(function() {
alert('a div');
});

最后,如果你可能想把你的函數從選擇器中獨立出來。我們會在明天的關于使用函數的教程中更深入地講解這個問題。不過,現在我們可以創建一個非常簡單的示例:
參考代碼: 復制代碼 代碼如下:
var myArray = $('body_wrap').getElements('div');
// 要創建一個函數,你可以像剛才一樣聲明一個變量,然后給它命名
// 在等號后面使用”function()“來聲明這個變量為一個函數
// 最后,在 { 和 }之間寫入你的函數代碼
var myFunction = function() {
alert('a div');
};
// 現在你就可以在.each();.方法里面調用剛才的函數了
myArray.each(myFunction);

注意:當你像剛才那樣在.each();.方法里面調用函數時,你不需要給函數名加上引號。
復制一個數組
$A
MooTools提供了一個簡單的方式――通過$A函數來復制一個數組。讓我們像剛才那樣使用變量創建一個數組:
參考代碼: 復制代碼 代碼如下:
// 創建你的數組變量
var myArray = $('body_wrap').getElements('div');

復制一個數組(創建該數組的副本):
參考代碼: 復制代碼 代碼如下:
// 建立一個新的變量名,命名為”myCopy“,然后把”myArray“的副本賦值給它
var myCopy = $A(myArray );

從數組中獲取指定的元素
.getLast();
.getLast();方法返回數組中最后一個元素。首先我們建立一個數組:
參考代碼: 復制代碼 代碼如下:
var myArray = $('body_wrap').getElements('div');

現在我們可以從這個數組中獲取最后一個元素:
參考代碼: 復制代碼 代碼如下:
var lastElement = myArray.getLast();

變量lastElement現在的值就是數組myArray中的最后一個元素了。
.getRandom();
和.getLast();一樣,不過它隨機從數組中取得一個元素:
參考代碼: 復制代碼 代碼如下:
var randomElement = myArray.getRandom();

變量randomElement現在的值就是從數組myArray中隨機選取的一個元素了。
向數組中添加一個元素
.include();
通過這個方法,你可以給數組添加另外一個元素。只要把元素選擇器傳給.include();方法,它就會包含到你的數組中。我們使用下面的HTML代碼:
參考代碼: 復制代碼 代碼如下:
<div id="body_wrap">
<div>one</div>
<div>two</div>
<span id="add_to_array">add to array</span>
</div>

我們可以像以前那樣調用”body_wrap“下面的所有div一樣來創建一個數組:
參考代碼: 復制代碼 代碼如下:
var myArray = $('body_wrap').getElements('div');

要把另外一個元素添加到這個數組中,首先你需要把這個元素賦值給一個變量,然后使用include方法:
參考代碼: 復制代碼 代碼如下:
// 首先把你的元素賦值給一個變量
var newToArray = $('add_to_array');
// 然后把它添加到數組
myArray.include(newToArray);

現在,這個數組就同時包含div和span元素了。
.combine();
和.include();方法一樣,不過它可以讓你把一個數組添加到一個已經存在的數組中,而不用擔心有重復的內容。假設我們現在從下面的HTML中取得了兩個數組:
參考代碼: 復制代碼 代碼如下:
<div id="body_wrap">
<div>one</div>
<div>two</div>
<span class="class_name">add to array</span>
<span class="class_name">add to array, also</span>
<span class="class_name">add to array, too</span>
</div>

我們可以這樣建立兩個數組:
參考代碼: 復制代碼 代碼如下:
// 就像我們以前那樣建立你的數組
var myArray= $('body_wrap').getElements('div');
// 然后建立一個所有CSS類名為.class_name的元素數組
var newArrayToArray = $$('.class_name');

現在我們可以使用.combine();方法來合并兩個數組,這個方法會自己處理重復的元素,因此我們不需要處理:
參考代碼: 復制代碼 代碼如下:
// 把數組newArrayToArray合并到數組myArray中
myArray.combine(newArrayToArray );

現在myArray就包含了newArraytoArray中的所有元素。
代碼示例
數組可以讓你遍歷包含所有項目的列表,并對每個元素執行相同的代碼。在這個例子中,注意變量”item“作為當前元素的替代符的使用。
參考代碼: 復制代碼 代碼如下:
// 創建一個數組,這個數組包含”body_wrap“里面所有CSS類名為.class_name的元素
var myArray = $('body_wrap').getElements('.class_name');
// 首先建立一個要添加到數組中的元素
var addSpan = $('addtoarray');
// 然后建立一個要合并的數組
var addMany = $$('.addMany');
// 現在我們把元素addSpan加入到數組中
myArray.include(addSpan);
// 然后合并數組addMany到myArray中
myArray.combine(addMany);
// 建立一個需要對數組中的每個元素都要執行的函數
var myArrayFunction = function(item) {
// item現在指向數組中的當前元素
item.setStyle('background-color', '#eee');
}
// 現在對數組中的每個項目調用myArrayFunction函數
myArray.each(myArrayFunction);

參考代碼: 復制代碼 代碼如下:
<div id="body_wrap">
<div class="class_name">one</div><!-- this has gray background -->
<div>two</div>
<div class="class_name">three</div><!-- this has gray background -->
<span id="addtoarray">add to array</span> <!-- this has gray background -->
<br /><span class="addMany">one of many</span> <!-- this has gray background -->
<br /><span class="addMany">two of many</span> <!-- this has gray background -->
</div>

延伸學習

這個教程并沒有打算涵蓋你能對數組做的全部事情,但是希望能夠給你一個參考,告訴你MooTools提供了一些什么功能。要學習更多關于數組的東西,請仔細閱讀這些內容:

  • 文檔中的數組部分
  • 這個頁面中有許多關于JavaScript數組的信息

下載一個包含你開始所需要的所有東西的zip包

包括一個簡單的html文件、MooTools 1.2核心庫、一個外部JavaScript文件、一個css文件和上面的所有例子。

JavaScript技術Mootools 1.2教程(3) 數組使用簡介,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 无限好资源免费观看 | 免费精品美女久久久久久久久 | 91久久精一区二区三区大全 | 久久天天躁狠狠躁夜夜躁 | 偷窥国产亚洲免费视频 | 8050午夜二级一片 | 37大但人文艺术A级都市天气 | 午夜免费国产体验区免费的 | 学生无码AV一区二区三区 | 色综合久久天天影视网 | 国产福利不卡在线视频 | 用震蛋调教女性下面视频 | 最近中文字幕在线中文视频 | 欧美日韩在线亚洲一 | 长篇高h肉爽文丝袜 | 英国video性精品高清最新 | 欧美506070 | 99精品欧美一区二区三区美图 | 寂寞骚妇女被后入式抽插 | 日本美女抠逼 | 日本高清不卡码无码v亚洲 日本福利片午夜免费观着 日本粉嫩学生毛绒绒 | 暖暖 日本 视频 在线观看免费 | 偷窥wc美女毛茸茸视频 | 人妻少妇久久久久久97人妻 | 国产精品久久久久久久人人看 | 国产又湿又黄又硬又刺激视频 | 99免费精品 | 捏揉舔水插按摩师 | A级毛片无码久久精品免费 a级毛片黄免费a级毛片 | 999国产高清在线精品 | 午夜特级毛片 | 精品国产福利一区二区在线 | 午夜免费体验30分 | 老人洗澡自拍xxx互摸 | 桃隐社区最新最快地址 | 日本特黄的免费大片视频 | 囯产免费精品一品二区三区视频 | 蜜芽亚洲欧美一区二区电影 | 亚洲国产高清福利视频 | 天天摸夜添狠狠添高 | 亚洲伊人久久大香线蕉综合图片 |