[解決済み] オブジェクトがjQueryオブジェクトであるかどうかを確認する
2022-03-15 03:42:11
質問
オブジェクトがjQueryオブジェクトかネイティブJavaScriptオブジェクトかを素早く確認する方法はありますか?
の例です。
var o = {};
var e = $('#element');
function doStuff(o) {
if (o.selector) {
console.log('object is jQuery');
}
}
doStuff(o);
doStuff(e);
明らかに、上記のコードは動作しますが、安全ではありません。このような場合、セレクターキーを
o
オブジェクトを作成し、同じ結果を得ることができます。オブジェクトが実際にjQueryオブジェクトであることを確認する、より良い方法はないでしょうか?
に沿ったものを
(typeof obj == 'jquery')
解決方法は?
を使用することができます。
instanceof
演算子を使用します。
if (obj instanceof jQuery){
console.log('object is jQuery');
}
説明
を使用します。
jQuery
関数(別名
$
として実装されています。
コンストラクタ関数
. コンストラクタ関数は
new
の接頭辞があります。
を呼び出すと
$(foo)
に変換され、jQuery内部では
new jQuery(foo)
1
. JavaScript は次のように初期化を行います。
this
の新しいインスタンスを指すように、コンストラクタ関数内で指定します。
jQuery
にあるプロパティを設定します。
jQuery.prototype
(別名
jQuery.fn
). したがって、あなたは
new
オブジェクトを作成します。
instanceof jQuery
は
true
.
1
<サブ
それは、実は
new jQuery.prototype.init(foo)
という別のコンストラクタ関数にオフロードされています。
init
しかし、コンセプトは同じです。
関連
-
元のイベントが実行されなかった後に要素を追加するためのjQueryソリューション
-
[解決済み】 Uncaught TypeError : undefined のプロパティ 'replace' を読み取れない In Grid
-
HTML5 LocalStorage ローカルストレージとセッションストレージの使用法
-
[解決済み] jQueryで要素が非表示になっているかどうかを確認するには?
-
[解決済み] JavaScriptで文字列が部分文字列を含むかどうかを確認する方法は?
-
[解決済み] JavaScriptでオブジェクトをディープクローンする最も効率的な方法は何ですか?
-
[解決済み] JavaScript で配列に値が含まれているかどうかを確認するにはどうすればよいですか?
-
[解決済み] jQueryでチェックボックスに "checked "を設定する
-
[解決済み] jQueryの「exists」関数はありますか?
-
[解決済み】jQueryでチェックボックスがチェックされているかどうかを確認するにはどうすればよいですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
JSアレイループと効率解析の比較
-
jQueryのコピーオブジェクトの説明
-
Vueのクラススタイルの使い方の詳細
-
Vueのフォームイベントのデータバインディングの説明
-
[解決済み】Uncaught SyntaxError: JSONの位置0に予期しないトークンuがあります。
-
[解決済み】リソースの読み込みに失敗した:Bind関数でサーバーが500(Internal Server Error)のステータスで応答した【非公開
-
[解決済み】TypeErrorの解決方法。未定義またはヌルをオブジェクトに変換できない
-
[解決済み】ERROR エラーです。スイッチのname属性が指定されていないフォームコントロールの値アクセッサがない
-
Uncaught TypeError: null のプロパティ 'offsetHeight' を読み取れませんでした。
-
モジュールのビルドに失敗しました。Error: ENOENT: no such file or directory, scandir 'D:\.... \node_modules