【jQuery】hasClass is not a functionエラー

公開日: : JavaScript/jQuery

スポンサーリンク

jQueryでセレクタを使って取得してきたjQueryオブジェクトからその子要素をchildrenで複数取得してきておいて、each等で各子要素に対してhasClassでチェックして指定のクラスがあれば何かするといった処理を行おうとしましたが「hasClass is not a function」のエラーが出てしまい結局何もできずじまいでした。

例えばこんな感じです。

var parent = $("#parent");
var children = parent.children();
for (var i = 0; i < children.length; i++){
    var child = children[i];
    if (child.hasClass('hoge')){ //←エラー
        /*******省略*******/
    }
}

デバッグして調べてみると明らかにその子要素がjQueryオブジェクトでないのが原因のようなのですが、いまいち解決策がわからずもやもやしてたところ、どうやらその子要素を「$()」で囲ってやるとそれがjQueryオブジェクトになりうまくいくというのがわかりました。

例えばこんな感じです

var parent = $("#parent");
var children = parent.children();
for (var i = 0; i < children.length; i++){
    var child = $(children[i]); //←$()で囲ってやる
    if (child.hasClass('hoge')){
        /*******省略*******/
    }
}

もしくは、配列のように添え字で取りだそうとするのではなくeachを使って$(this)で取りだすというのもあります。(結局は同じことですが)

var parent = $("#parent");
var children = parent.children();
var i=0;
children.each(function(){
    var child = $(this);
    if (child.hasClass('hoge')){
        /*******省略*******/
    }
    i++;
});
スポンサーリンク
Amazon
  • このエントリーをはてなブックマークに追加

関連記事

【javascript/jQuery】強制的にページをスクロールさせる方法

強制的にページをスクロールさせたいと思って調べていたのですが、なかなか思うようなものが見つからず困っ

記事を読む

【jQuery】サイドバー固定に役立つサイト集

縦スクロール 縦方向にスクロールして指定の位置に来たら要素を固定させる方法のリンク集を紹介させてい

記事を読む

Canvasの画像をリサイズする簡単な方法【HTML5・javascript】

調べてみるとCanvasをリサイズするようなjavascriptの関数は存在しないようなので自前で作

記事を読む

【jQuery】大量の画像で重くなったページを遅延ロードで軽くする方法【Lazy Load】

画像をふんだんに使っているページでは読み込みの際に非常に時間がかかるという問題点があります。数枚なら

記事を読む

【3DCG・MMD】カメラレンズによる見え方シミュレータ作成について

カメラのレンズが違うことでどのくらい出来上がる写真に差が出てくるのかを確かめることのできるシミュレー

記事を読む

ニコニコ動画のRSSをjavascriptで読み込んで表示させる

ニコニコ動画のランキングRSSをjQueryで読み込んで表示するプログラムを作成しました。RSSの読

記事を読む

PHPでページリロードをしようと思ったができなかったので

header("Location: ".$_SERVER); とすればページをリロードでき

記事を読む

【javascript】正規表現文字抽出簡易ツール

jQueryで作成した正規表現による文字抽出用スクリプトです。 (使い方) 「正規表

記事を読む

【HTML/jQuery UI】NumericUpDownを設置する【Spinner】

HTMLタグにNumericUpDownがないか探したのですがないみたいなのでそれが使えるようなもの

記事を読む

javascriptでチェックボックスを一括で変更する方法

チェックボックスのチェックに一つ一つチェックを入れていくのは非常に手間がかかるのでjavascrip

記事を読む

【DeepLearning】物体検出手法のSSD(Keras版)を試す (Ubuntu14.04)

はやりのディープラーニングの物体検出手法の一つであるSSDのサンプルを

【Laravel5】既存のDBからデータを取得して表示する

はじめに 今まで作ったWebサイトをLaravel5で見れるようにし

【C++/OpenCV】cv::Matの画像にインパルスノイズを付加する

OpenCVで画像にノイズを付け足したいと思って調べたところ、Pyth

Intel Corei7-7700TでHTC Viveの動作確認

はじめに HTC ViveというVRヘッドセットで遊んでみたのでその

【Python】フォルダ内のカッコ付き数字ファイルを一括でリネームするスクリプト

はじめに タイトルどおりなのですが、指定フォルダ内のファイルのファイ

OpenCV3.1のTracking APIでトラッキングを試す

はじめに 先日OpenCV3.1をopencv_contrib付きで

パソコンを複数台使う際便利なツール

はじめに 先日、機械学習用にGPUを積んだBTOパソコンを購入しまし

→もっと見る

  • Author : ががんぼ
    プログラミングやWeb関係で気付いたことについてメモしていく予定。だいたいが備忘録ですが、自分でサンプルを作って動かしてみたりしています。
PAGE TOP ↑