1

私はこの小さな詳細が私を逃れてjqueryでかなりのことをすることができました:そのインデックスでdom要素を返すように見えるjquery呼び出しの結果に添字演算子を適用するにはどうすればよいですか? Javascriptは演算子のオーバーロードをサポートしていないため、実際には「配列」型を返していると推測しています...それでも、この配列でjqueryメソッドの全範囲を使用することもできますが、ソースコードを見ると「スライス」としか表示されません'push' が Array.prototype に追加されました...

このトピックの答えがわかったら、このトピックの分野でさらにいくつか質問があるかもしれません...

4

1 に答える 1

3

「配列スタイル」の角括弧構文を使用して、JavaScript オブジェクトプロパティにアクセスできます。

var someObj = {
        someProp : "test"
    };

alert(someObj["someProp"]);   // alerts "test"

jQuery は、$()関数から返されたオブジェクトが、数値インデックスに対応するlengthプロパティと、最大の数値インデックスよりも 1 つ大きいプロパティを持っていることを確認しただけです。

someObj[0] = "test";
someObj[1] = "whatever";
someObj.length = 2;

シンプルな (jQuery 以外の) デモ: http://jsfiddle.net/nnnnnn/pguDH/

実際には、オブジェクトのプロパティ名は常に文字列であることに注意してください。数値を指定すると、文字列に変換されます。「実際の」配列要素でさえ、文字列でアクセスできます。

someArray["1"]
// give same results as
someArray[1]
于 2012-08-12T07:55:04.653 に答える