私は少し混乱していjQuery.isEmptyObject methodます。
$.isEmptyObject([])->trueを返します
しかし
$('#id-does-not-exist-on-page')=> []
$.isEmptyObject($('#id-does-not-exist-on-page'))falseを返します
なぜ ?ありがとう。
私は少し混乱していjQuery.isEmptyObject methodます。
$.isEmptyObject([])->trueを返します
しかし
$('#id-does-not-exist-on-page')=> []
$.isEmptyObject($('#id-does-not-exist-on-page'))falseを返します
なぜ ?ありがとう。
オブジェクトが空(プロパティを含まない)であるかどうかを確認します
しかし、
$('#id-does-not-exist-on-page')まだプロパティがあります。
$('#id-does-not-exist-on-page').addClass('abra_ka_dabra') // 有効
[].addClass('abra_ka_dabra'); // TypeError:オブジェクトにメソッド'addClass'がありません
それで、
代わりにこれを試してください
$.isEmptyObject($('#id-does-not-exist-on-page')[0])
jQueryのドキュメント(isEmptyObject)によると:
他のタイプのオブジェクト(DOM要素、プリミティブ文字列/数値、ホストオブジェクト)ではブラウザ間で一貫した結果が得られない可能性があるため、引数は常にプレーンなJavaScriptオブジェクトである必要があります。
$('#id-does-not-exist-on-page')空のオブジェクトではなく、何にも一致しないセレクターを返すためです。{}