たとえば、このコードを使用する場合:$('#iddoesnotexist').remove();
この ID がページにない場合、エラーは表示されません。エラーを表示するにはどうすればよいですか?
そうしないとjQueryが定期的に例外をスローするため、デフォルトでこの動作が選択されましたNullReference
が、これが私が探しているものです...
たとえば、このコードを使用する場合:$('#iddoesnotexist').remove();
この ID がページにない場合、エラーは表示されません。エラーを表示するにはどうすればよいですか?
そうしないとjQueryが定期的に例外をスローするため、デフォルトでこの動作が選択されましたNullReference
が、これが私が探しているものです...
独自の jQuery 拡張機能を作成できると思います。私はそれをアサーションとして書きます*:
$.fn.mustExist = function() {
if(!this.length) {
throw new Error("Collection was empty.");
}
return this;
};
そして開発中:
$('#iddoesnotexist').mustExist().remove();
* 実際、私は jQuery を使用しません。document.getElementById
こんなことからも守ってくれます;)
この動作をすべての DOM 選択のデフォルトにしたい場合は、関数のラッパー関数を作成できますjQuery
。
var my_$ = function(selector) {
var result = jQuery.apply(this, arguments);
if (typeof selector === "string" && !result.length)
throw new Error("No matches found");
return result;
};
my_$("#foobar"); // No matches found
jQuery
または$
識別子を上書きするのではなく、必ず独自の参照を使用してください。
見る:
jQuery デバッグ と http://jqueryfordesigners.com/debugging-tools/ と http://www.jquery4u.com/utilities/live-jquery-debugging-firebug/ と http://samdutton.wordpress.com/2010/09 /16/jquery-debugging-tips/ および http://trainofthoughts.org/blog/2007/03/16/jquery-plugin-debug/
jQuery のデバッグに関する記事。また、コメントで述べたように、デバッグする最も簡単な方法は を使用することconsole.log
です。