我正在使用jQuery,如果我附加了一些事件或者试图对不存在的元素(从选择器中获得)执行一些操作,我需要随时获得任何异常(通过任何操作)。在jQuery中有没有针对这个问题的内部“严格”模式?
发布于 2010-05-11 15:51:24
不,没有。
然而,你可以为它做一个简单的插件:
$.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(...);
发布于 2010-05-11 15:59:48
查看这篇文章,了解如何处理"exists“
发布于 2010-05-11 15:53:02
不,这就是jQuery的美妙之处。
您可以创建一个包装器函数
function myjQuery() {
var res = $.apply(this, arguments);
if (!res.size()) {
throw new Error("No elements matched :(");
};
return res;
};
myjQuery('input').each();
这不会屏蔽通过使用find()
或filter()
等返回的空集,但是...
https://stackoverflow.com/questions/2812148
复制