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

関連記事

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

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

記事を読む

jThree.jsやThree.jsでcanvasの画面をキャプチャして画像にする方法

WebGLのライブラリであるThree.jsやそのラッパーライブラリのjThree.jsでcanva

記事を読む

AAアニメーション

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

記事を読む

【jquery】iframe内のスクロールイベント設定とスクロール量取得

ページ内に設置したiframeのスクロールイベントおよびスクロール量を取得したかったのでメモ

記事を読む

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

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

記事を読む

jQueryにおけるcreateElement

jQueryでcreateElementに変わる関数は単純で、例えばvar dom = docume

記事を読む

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

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

記事を読む

javascriptで画像処理をする【HTML5】

HTML5でjavascriptを使って画像処理をしてみました。このページでは手始めにグレースケール

記事を読む

javascriptにおけるfor文の書き方

1. for文とは ある条件が正しいときに処理を繰り返すというループを記述するための文です。 似

記事を読む

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

Twitterボタンをブログやサイトに設置するとき読み込みに時間がかかってしまって困るといったことや

記事を読む

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 ↑