当找不到元素时,是否有可能让jQuery抛出异常?

时间:2011-09-02 07:50:10

标签: jquery exception undefined

我是jQuery的新手,我想简化处理无法找到的元素,这是一个相当常见的问题。以下代码显示了我的意思:

var category = $('select#Category');

现在,我可以检查返回的变量以查看是否找不到它,但我肯定更喜欢在这种情况下自动抛出异常。这有可能与jQuery一起使用吗?如果没有,是否有一些常见的习惯用于在jQuery之上实现这种自动错误检查?

2 个答案:

答案 0 :(得分:12)

我不确定是否有任何现有的功能,但我认为如果你在使用jQuery之前把它放在页面的顶部,但在加载之后它应该适合你:

(function(){
    var _$ = $;
    $ = function(){
        var $res = _$.apply(0, arguments);
        if(!$res.length && typeof arguments[0] === 'string')
            throw 'No element Found: ' + arguments[0];
        return $res;
    }
    $ = _$.extend(true, $, _$);
})();

JSFiddle Example

答案 1 :(得分:2)

我只是使用这种方法:

if (category.length == 1) {
// node has been found (and is the only one in the dom)
}

我认为抛出异常并不是一个好主意:P