2009-08-12 5 views
0

저는 Javascript와 Mootools를 처음 접했고 특히 Mootools에 대한 문서가 최고로 부족하기 때문에 몇 가지 문제를 이해하는 데 어려움이 있습니다.

제 질문은 $ selector에 관한 것입니다.

왜 일부 속성을 다른 속성이 아닌 다른 속성과 연결할 수 있습니까? 예를 들어

$('results').style.border = "1px solid #000000"; 

작업을 수행하지만,

$('results').innerHTML = "foo"; 

하지 않습니다?

미리 감사드립니다.

+1

http://mootools.net/docs/core/Element/Element#Element-Properties:html – Amber

답변

4

첫 번째 예제는 실제로 "체인화"의 예가 아닙니다.

style은 요소의 CSS 스타일을 나타내는 DOM 표준 개체입니다. MooTools와는 아무런 관련이 없습니다. 객체의 속성에 액세스하기위한 표준 점 표기법입니다. 객체에 대한 조작의 결과가이 같은 물건을 할 수 있도록 수술 후 개체 자체를 반환 할 때

는 "체인 연결"이다 :

$('id').show().move_left(200).fadeOut(); 

마지막으로는, 그 두 번째 예제가 작동해야한다. 실제 소스를 게시해야합니다.

+0

일단 Mootools 메서드가 연결되면 더 이상 사용할 수 없게됩니다. 정상적인 내장 자바 스크립트 기능? 나는 $가 document.getElementById의 지름길 역할을한다고 생각 했는가? –

+0

그것보다 조금 더 복잡한 모든 다른 브라우저에는 그들 만의 독특한 특징이 있습니다. Moo는 다양한 속성, 필드, 모든 브라우저 호환성 정보를 숨기는 값을 변경하는 래퍼 함수를 ​​제공합니다. 물론 안전한 것들을 혼합하고 매치 할 수 있지만, 일반적으로 Moo는 당신이 고집해야 할 스타일을 가지고 있습니다. 여기에있는 다른 게시물은 .setStyles(), .set ("html", "foo"), .getValue() 등의 도우미 함수의 예제를 보여줍니다. 혼합 및 일치는 '할 수'있어 혼란스러워집니다. (읽기 및 디버깅을 위해) 래퍼를 사용하십시오. –

4

삼부작의 대답은 훌륭합니다. 나는 단지 당신이 mootools에서 더 많은 것을 누락 시키도록 돕고 싶습니다.

$('results').setStyle('border','1px solid #000'); 
$('results').set('html','foo'); 

// all together now 
$('results').setStyle('border','1px solid #000').set('html','foo'); 

$ (또는 모든 프레임 워크를 실제로 사용)로 요소를 가져 오는 경우 innerHTML을 더 이상 사용하지 않으려합니다.

함수는 호출 될 때 무언가를 반환합니다. mootools의 대부분의 메소드 (함수)는 $ ('results')와 같이 변경되는 것을 반환하므로 다른 함수를 연결할 수 있습니다.

예제가 연결되지 않았습니다. 그들은 단순히 메서드를 호출하지 않고 개체의 속성을 선택합니다.


Mootools의 문서는 환상적입니다. 아직 언어에 익숙하지 않은 것 같습니다. Mootools는 가파른 학습 곡선으로 간주되므로 문제의 일부가 될 수 있습니다.

나는 당신과 같았습니다. 일반적으로 mootools와 javascript에 익숙하지 않았습니다. 잠시 동안 터벅 터벅 걷고 난 후에 나는 mootools를 밖으로 생각했다. 그리고 무의식적으로, 동시에 자바 스크립트를 배웠다. 문서는 그것의 필수 요소였습니다.

+1

1.2 - element.set ({styles : {prop : value, prop : value}, html : "some string"}) 이후 단지 1 setter 만 사용할 수 있습니다. 예, $를 document.getElementById의 간단한 바로 가기로 사용할 수 있습니다. 이후에 적용하는 요소는 주로 요소 프로토 타입 (네이티브 또는 mootools 함수에 액세스)을 기반으로합니다. 그러나 반환되는 요소는 이전에 가질 수있는 특성을 그대로 유지합니다. .innerHTML이 브라우저가 허용합니다. http://mooshell.net/RRVWZ를 확인하십시오. 직접 속성에 액세스해서는 안됩니다. 메서드를 체인으로 연결할 수 없으며 크로스 브라우저가 아닐 수도 있습니다. –