MooTools-배열 사용
MooTools는 동적 웹 페이지를 만드는 데 도움이되는 경량 JavaScript 라이브러리입니다. DOM 요소를 관리하는 동안 웹 페이지의 모든 DOM 요소를 선택해야합니다. 이 컬렉션은 배열을 사용하여 처리 할 수 있습니다.
이 장에서는 배열을 사용하여 DOM 요소를 관리하는 방법에 대해 설명합니다.
each () 메서드
이것은 배열을 다루는 기본 방법입니다. 목록을 통해 모든 요소를 반복합니다. 요구 사항에 따라이 방법을 사용할 수 있습니다. 예를 들어 페이지의 모든 div 요소를 선택하려면 아래 제공된 스크립트를 따르십시오. 여러 div가 포함 된 다음 html 페이지를 살펴보십시오.
<div>One</div>
<div>Two</div>
다음 스크립트를 사용하여 선택할 수 있습니다. each individual 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 요소를 조작하는 데 사용되는 몇 가지 중요한 방법입니다.
getLast ()
이 메서드는 배열의 마지막 요소를 반환합니다. 이 방법을 이해하기 위해 배열을 설정하겠습니다.
var myArray = $('body_div').getElements('div');
이제 배열 내의 마지막 요소를 가져올 수 있습니다.
var lastElement = myArray.getLast();
변수 lastElement 이제 myArray 내의 마지막 요소를 나타냅니다.
getRandom ()
getRandom () 메서드는 getLast () 메서드와 비슷한 방식으로 작동하지만 배열에서 임의의 요소를 가져옵니다.
Syntax
var randomElement = myArray.getRandom();
변수 randomElement 이제 내에서 무작위로 선택된 요소를 나타냅니다. myArray.
어레이 복사
MooTools는 $ A () 함수를 사용하여 배열을 복사하는 방법을 제공합니다. 다음은 $ A () 함수의 구문입니다.
통사론
var <variable-name> = $A ( <array-variable>);
배열에 요소 추가
배열에 요소를 추가하는 방법에는 두 가지가 있습니다. 첫 번째 방법을 사용하면 요소를 하나씩 추가하거나 두 개의 다른 배열을 하나로 병합 할 수 있습니다.
포함()
include () 메서드는 항목을 DOM 요소 배열에 추가하는 데 사용됩니다. 예를 들어, 두 개의 div 요소와 하나의 포함 된 div 아래에 하나의 span 요소를 포함하는 다음 HTML 코드를 고려하십시오.body_div.
Syntax
<div id = "body_div">
<div>one</div>
<div>two</div>
<span id = "add_to_array">add to array</span>
</div>
위 코드에서 getElements ( 'div') 메서드를 호출하면 body_div요소, 우리는 하나와 두 개의 div를 얻지 만 스팬 요소는 배열에 포함되지 않습니다. 배열에 추가하려면 다음을 호출하십시오.include()배열 변수에 대한 메서드. 다음 스크립트를 살펴보십시오.
Script
//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 요소가 모두 포함됩니다.
결합시키다()
이 메서드는 한 배열의 요소를 다른 배열의 요소와 결합하는 데 사용됩니다. 이것은 또한 중복 콘텐츠를 처리합니다. 예를 들어, 두 개의 div 요소와 두 개의 span 요소를 포함하는 다음 HTML 코드를 고려하십시오.body_div.
Syntax
<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>
위의 코드에서 getElements ( 'div') 메서드를 body_div요소. 당신은 하나와 두 개의 div를 얻습니다. $$ ( '. class_name') 메서드를 호출하면 두 개의 범위 요소가 선택됩니다. 이제 하나의 div 요소 배열과 다른 범위 요소 배열이 있습니다. 이 두 배열을 병합하려면 Combine method ()를 사용할 수 있습니다. 다음 스크립트를 살펴보십시오.
Script
//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 변수의 모든 요소가 포함됩니다.
Example
이것은 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>
다음과 같은 출력을 받게됩니다.
Output