1. ホーム
  2. jquery

[解決済み] jQuery : eq() vs get()

2022-12-08 17:37:31

質問

jQuery初心者なんですが、jQueryの get()eq() の機能を誤解している可能性があります。 get() 関数はそうなのですが、同じ行で返された要素に返された関数を呼べないのはおかしいと思ったのです。

//Doesn't work
I.e.  $("h2").get(0).fadeIn("slow");

//Works
$("h2").eq(0).fadeIn("slow");

どのように解決するのですか?

.get() そして .eq() はどちらもjQueryオブジェクト配列から単一の"要素"を返しますが、これらは異なるフォームで単一の要素を返します。

.eq() はそれをjQueryオブジェクトとして返します。つまり、DOM要素はjQueryラッパーでラップされており、jQueryの関数を受け入れることを意味します。

.get() は、生の DOM 要素の配列を返します。生の DOM 要素に対するのと同じように、その属性にアクセスしたり関数を呼び出したりして、それぞれを操作することができます。しかし、jQuery でラップされたオブジェクトとしての同一性は失われるため、以下のような jQuery 関数が必要になります。 .fadeIn のような jQuery 関数は動作しません。