Подтвердить что ты не робот

Возможно ли, чтобы jQuery выдавал исключение, когда элемент не найден?

Я новичок в jQuery, и я бы хотел упростить обработку элементов, которые он не может найти, что является довольно распространенной проблемой. Следующий код показывает, что я имею в виду:

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

Теперь я могу проверить возвращаемую переменную, чтобы убедиться, что она не найдена, но я определенно предпочел бы, чтобы в этом случае было автоматически выбрано исключение. Возможно ли это с помощью jQuery? Если нет, существует ли распространенная идиома для реализации такой автоматической проверки ошибок поверх jQuery?

4b9b3361

Ответ 1

Я не уверен в каких-либо существующих функциях, но я думаю, что это должно сработать для вас, если вы поместите его в начало страницы перед использованием 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

Ответ 2

Я просто использую этот подход:

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

Я думаю, что исключение - это не очень хорошая идея: P