我使用jQuery并且我需要获得任何时间和任何异常(使用任何操作),如果我附加一些事件或尝试使用不存在的元素(从选择器获取)执行某些操作。 对于这个问题,jQuery中是否有一些内部的“严格”模式?
答案 0 :(得分:5)
不,没有。
但是,您可以为它制作一个简单的插件:
$.fn.checkEmpty = function() {
if (!this.length)
throw new Error("No elements matched by " + this.selector);
return this;
};
$('...').checkEmpty().bind(...);
可替换地:
function $s() { return $.apply(this, arguments).checkEmpty(); }
$s('...').bind(...);
答案 1 :(得分:1)
查看此帖子,了解处理“存在”的方法
答案 2 :(得分:0)
不,这是jQuery的魅力。
您可以创建包装函数
function myjQuery() {
var res = $.apply(this, arguments);
if (!res.size()) {
throw new Error("No elements matched :(");
};
return res;
};
myjQuery('input').each();
这不会掩盖使用find()
或filter()
等返回的空集,但是哼哼......