- MooTools教程
- MooTools - 主页
- MooTools - 简介
- MooTools - 安装
- MooTools - 程序结构
- MooTools - 选择器
- MooTools - 使用数组
- MooTools - 函数
- MooTools - 事件处理
- MooTools - DOM 操作
- MooTools - 样式属性
- MooTools - 输入过滤
- MooTools - 拖放
- MooTools - 正则表达式
- MooTools - 期刊
- MooTools - 滑块
- MooTools - 可排序
- MooTools - 手风琴
- MooTools - 工具提示
- MooTools - 选项卡式内容
- MooTools - 类
- MooTools - Fx.Element
- MooTools - Fx.Slide
- MooTools - Fx.Tween
- MooTools - Fx.Morph
- MooTools - Fx.Options
- MooTools - Fx.Events
- MooTools 有用资源
- MooTools - 快速指南
- MooTools - 有用的资源
- MooTools - 讨论
MooTools - 使用数组
MooTools 是一个轻量级的 JavaScript 库,有助于创建动态网页。在管理DOM元素时,我们需要选择网页的所有DOM元素。该集合可以使用数组来处理。
本章介绍如何使用数组来管理 DOM 元素。
每个()方法
这是处理数组的基本方法。它通过列表迭代所有元素。您可以根据需要使用此方法。例如,如果您想选择页面的所有 div 元素,请按照下面给出的脚本进行操作。看一下下面的 html 页面,其中包含多个 div。
<div>One</div> <div>Two</div>
您可以使用以下脚本从页面上的 div 集合中选择每个单独的 div 。该脚本将选择每个 div 并传递警报。看看下面的脚本。
脚本
$$('div').each(function() { alert('a div'); });
您可以使用以下语法来处理上面给出的示例。看一下 HTML 页面。
脚本
<div id = "body_div"> <div>One</div> <div>Two</div> </div>
在这里,这两个 div 被另一个 div — body_div包围。在设计脚本时,我们只能选择一个外部 div。之后,通过使用 getElements() 方法,我们可以选择两个内部 div。看看下面的脚本。
脚本
$('body_wrap').getElements('div').each(function() { alert('a div'); });
您可以使用不同的方法来编写上述脚本,如下所示。在这里,我们使用一个单独的变量来选择body_div。
脚本
var myArray = $('body_div').getElements('div'); myArray.each(function() { alert('a div'); });
从数组中选择特定元素
在操作元素数组时,我们可以从元素数组中选择特定元素。以下是一些用于操作 DOM 元素的重要方法 -
获取最后一个()
此方法返回数组的最后一个元素。让我们设置一个数组来理解这个方法。
var myArray = $('body_div').getElements('div');
我们现在可以获取数组中的最后一个元素。
var lastElement = myArray.getLast();
变量lastElement现在表示myArray 中的最后一个元素。
获取随机数()
getRandom() 方法的工作方式与 getLast() 方法类似,但将从数组中获取随机元素。
句法
var randomElement = myArray.getRandom();
变量randomElement现在表示myArray中随机选择的元素。
数组的副本
MooTools 提供了一种使用 $A() 函数复制数组的方法。以下是 $A() 函数的语法。
句法
var <variable-name> = $A ( <array-variable>);
将元素添加到数组
有两种不同的方法可以将元素添加到数组中。第一种方法允许您逐个添加元素,或者可以将两个不同的数组合并为一个。
包括()
include() 方法用于将项目添加到 DOM 元素数组中。例如,请考虑以下 HTML 代码,其中在单个封闭的 div — body_div下包含两个 div 元素和一个 span 元素。
句法
<div id = "body_div"> <div>one</div> <div>two</div> <span id = "add_to_array">add to array</span> </div>
在上面的代码中,如果我们对body_div元素调用 getElements('div') 方法,我们会得到一个和两个 div,但 span 元素不会包含在数组中。如果要将其添加到数组中,请对数组变量调用include()方法。看看下面的脚本。
脚本
//creating array variable by selecting div elements var myArray = $('body_wrap').getElements('div'); //first add your element to a var var newToArray = $('add_to_array'); //then include the var in the array myArray.include(newToArray);
现在,myArray 包含 div 和 span 元素。
结合()
此方法用于将一个数组的元素与另一个数组的元素组合起来。这也可以处理重复的内容。例如,请考虑以下 HTML 代码,其中在单个且封闭的 div — body_div下包含两个 div 元素和两个 span 元素。
句法
<div id = "body_div"> <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>
在上面的代码中,对body_div元素调用 getElements('div') 方法。你得到一和两个div。调用 $$('.class_name') 方法选择两个 span 元素。您现在拥有一个 div 元素数组和另一个 span 元素数组。如果你想合并这两个数组,那么你可以使用combine方法()。看看下面的脚本。
脚本
//create your array just like we did before var myArray= $('body_wrap').getElements('div'); //then create an array from all elements with .class_name var newArrayToArray = $$('.class_name'); //then combine newArrayToArray with myArray myArray.combine(newArrayToArray );
现在,myArray 包含newArrayToArray 变量的所有元素。
例子
这将帮助您理解 MooTools 中的数组。假设我们将背景颜色应用于包含 div 和 span 的元素数组。看看下面的代码。在这里,第二个元素数组不属于任何 id 或类组,这就是它不反映任何背景颜色的原因。看看下面的代码。
<!DOCTYPE html> <html> <head> <script type = "text/javascript" src = "MooTools-Core-1.6.0.js"></script> <script type = "text/javascript" src = "MooTools-More-1.6.0.js"></script> <script type = "text/javascript"> window.addEvent('domready', function() { var myArray = $('body_wrap').getElements('.class_name'); var addSpan = $('addtoarray'); var addMany = $$('.addMany'); myArray.include(addSpan); myArray.combine(addMany); var myArrayFunction = function(item) { item.setStyle('background-color', '#F7DC6F'); } myArray.each(myArrayFunction); }); </script> </head> <body> <div id = "body_wrap"> <div class = "class_name">one</div> <div>two</div> <div class = "class_name">three</div> <span id = "addtoarray">add to array</span> <br /><span class = "addMany">one of many</span> <br /><span class = "addMany">two of many</span> </div> </body> </html>
您将收到以下输出 -
输出