【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
  • このエントリーをはてなブックマークに追加

関連記事

AAアニメーション

javascriptでAAアニメーションしました。AAは以下のところから参照しました。(AAアニメー

記事を読む

Google Maps JavaScript API v3でマップ上に線を引く

GoogleMapsAPIを使って地図上に線を引いたときに気を付けたことなどをメモしておきます。

記事を読む

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

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

記事を読む

jQueryで要素にappendとafterを使って追加する

jqueryのappendは要素の末尾に指定要素を追加し、afterは要素の後に指定要素を加えます。

記事を読む

【jQuery UI】Sliderのオプション変更やイベントを取得をする方法

jQuery UIを使ってスライダー(トラックバー)を作ります。その際に起こるイベントとしてスライダ

記事を読む

【javascript/jQuery】JSON形式のデータの表示確認をする

PHPであれば「var_dump」や「print_r」などでJSON形式のデータの中身が思い通りの者

記事を読む

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

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

記事を読む

【jQuery/javascript】はてなボタンを動的に設置する

はてなブックマークのボタンをページの読み込みが終わった後にjavascript(jQuery)で追加

記事を読む

【javascript】RGB⇔カラーコード変換ライブラリ

RGBをカラーコードに変換、または、カラーコードをRGBに変換したい場合が出てきたのでどういうも

記事を読む

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

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

記事を読む

NVIDIA DIGITSをSupervisorを使って自動起動する

はじめに 先日Ubuntu14.04にDIGITS 5をGPUなしP

【2017年度】GeForce 1080 Ti搭載BTOパソコン比較

はじめに 最近ディープラーニング用にGPUのないPCにDIGITSを

Windows用のシンプルなストップウォッチソフト紹介

Windows(10)でも使える使いやすいKAZAMITimerという

MNISTをDIGITS 5のCPUのみで試す(GPUなし)

はじめに DIGITSを使えばGUI操作で簡単にディープラーニングが

Windowsユーザが初めてMacBookを購入したときの注意点や感想

最近12インチのMacBookを購入しました。今までWindowsしか

Redmine3.2をUbuntu14.04にインストールして躓いた所についてメモ

はじめに Ubuntu14.04 ServerにRedmine3.2

UWSCを使ったソフト自動立ち上げ【SoftEther VPN Server】

やりたいこと 最近SoftEtherという筑波大学発のベンチャー企業

→もっと見る

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