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操作系のメソッドと繋げて書くのはやめましょう、という感じです。
わかってしまえば簡単ですね。