0

mootoolsフレームワークを使用して自分のWebサイトでページを機能させようとしています。なぜこれが機能しないのかについて、私は考えられるあらゆる場所で答えを探しましたが、空っぽになりました。

複数の配列にhtmlのさまざまなデータ型を入力し、各配列の要素をインデックス番号で呼び出して、関数内でそれらの要素を動的にリンクおよび制御したいと思います。私はmootoolsjsfiddleユーティリティで以下のコードの簡単なスニペットをテストしていました。配列「region」から要素を呼び出そうとすると、「undefined」が直接返され、要素のインデックス番号を返そうとすると、null値の「-1」が返されます。

この配列から有用なデータを取得できません。考えられる理由は3つ考えられますが、ここで実際に何が起こっているのかを特定する方法がわかりません。1.おそらく、この配列にはデータがまったく入力されていません。2.データが入力されている可能性がありますが、「document.getElementBytag()」によってどのようなデータが取得されるのか誤解しているため、「document.writeln()」ステートメントではデータを表示できません。(または、すべての配列を惜しみなく作成する必要がありますか?)3.おそらく問題は、この方法で作成された配列にインデックスが付けられていないことです。(または、この配列にインデックスを付けるためにできることはありますか?)

html:
<div>Florida Virginia</div>
<div>California Nevada</div>
<div>Ohio Indiana</div>
<div>New York Massachussetts</div>
<div>Oregon Washington</div>

js:
var region = $$('div');
document.writeln(region[2]);
document.writeln(region.indexOf('Ohio Indiana'));

js初心者がこの配列の内臓で何が起こっているのかを理解するのを手伝ってくれてありがとう。

4

1 に答える 1

2

$$DOM 要素のリストを返します。これらの DOM ノードのテキストのみに関心がある場合は、まずそのビットを抽出します。コメントで @Dimitar が指摘したようgetに、のオブジェクトを呼び出すと、Elementsおそらくコレクション内の各要素を反復処理して問題のプロパティを取得することにより、配列が返されます。

var region = $$('div').get('text');

console.log(region[2]);                      // Ohio Indiana
console.log(region.indexOf('Ohio Indiana')); // 2

またはconsole.logの代わりに、この関数を呼び出すとドキュメント全体がクリアされ、渡された文字列に置き換えられるため、代わりに使用します。document.writelndocument.write

を参照してください。

于 2011-04-16T18:49:20.117 に答える