0

私はJavascriptとMootoolsに不慣れで、いくつかのことを理解するのに少し苦労しています。特にMootoolsのドキュメントは、せいぜい不足しているからです。

私の質問は$セレクターに関するものです。

一部のプロパティをチェーンできるのに、他のプロパティはチェーンできないのはなぜですか?

たとえば、なぜ

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

動作しますが

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

ではない?

前もって感謝します。

4

3 に答える 3

4

最初の例は、実際には「連鎖」の例ではありません。

style要素のCSSスタイルを表すDOM標準オブジェクトです。これはMooToolsとは何の関係もありません。オブジェクトのプロパティにアクセスするための標準的なドット表記です。

「チェーン」とは、オブジェクトに対する操作の結果が、操作後にオブジェクト自体を返し、次のようなことを実行できるようにすることです。

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

最後に、その2番目の例は機能するはずです。実際のソースを投稿する必要があります。

于 2009-08-12T19:31:08.330 に答える
4

トリプティックの答えは素晴らしいです。私はあなたがmootoolsからより多くのmooを引き出すのを手伝いたいだけです。

$('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を見つけ出し、無意識のうちに同時にjavascriptを学びました。ドキュメントはそれに不可欠でした。

于 2009-08-12T20:57:44.803 に答える
1

http://keetology.com/blog/2009/07/00-up-the-moo-herd-mootools-tips-and-tricks

これは、Mootoolsの低レベルのJavaScript機能の優れた入門書です。

于 2010-03-02T21:54:12.083 に答える