例如,如果我使用此代码:$('#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
or$
标识符。
看:
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
.