【jQuery】index()が効かない時の対処法(index is not a function)

【jQuery】index()が効かない時の対処法(index is not a function) JavaScript/jQuery

jQueryでindex()を使おうとしたら「index is not a function」と怒られてしまったことがあったので、その対処法を紹介します。

 

スポンサーリンク

index()で取得した値は変数に入れる

僕が「index is not a function」と怒られてしまった時はこんな感じで書いていました。

$('.class').index().fadeIn();

 

これが効かない原因はindex()の後にそのままDOM操作系のメソッドを繋げているからです。

対処法はindex()で取得した値は一度変数に格納し、その変数に対してDOM操作をする、というように処理を分けることです。

 

こんな感じ。

var index = $('.class').index();
index.fadeIn();

このようにindex()とDOM操作系のメソッドを分けて書いたらちゃんと動作してくれました!

 

まとめ

jQueryでindex()を使う時はDOM操作系のメソッドと繋げて書くのはやめましょう、という感じです。

わかってしまえば簡単ですね。