質問: jQueryで、要素の存在確認の方法がいくつかありますが、 単純に存在確認が必須ではない場合(要素があれば処理をする、無ければ何もしない)、 存在確認はした方が良いのでしょうか。 例えばサイト全体で、common.jsというファイルを読み込み、 トップページだけに必要な処理がある場合、 ``` ``` 以下のように書くのか、 ``` $("#top div").wrap(""); ``` それとも以下のようなかたちで存在確認をした方が良いのでしょうか? ``` if($("#top").length) { $("#top div").wrap(""); } ``` ※トップページだけにscriptを読み込めず、全体で読み込む「common.js」しか使えない環境の時 現在、限られた環境で制作する場面があり、また調べてみたところ以下のような記事を拝見しまして、気になり質問いたしました。 jQueryでDOM要素が存在するか確認してはならない どうぞよろしくお願いいたします。
回答: jQueryオブジェクトの性質から存在確認をする意味がないので 普通は確認しません。 つまりセレクタで選択別されたオブジェクトが1件もヒットしない場合でも jQueryはlength:0のオブジェクトを返し、nullやundefinedと違い そのオブジェクトに何か操作してもエラーにはならないからです。