Возможно ли, чтобы jQuery выдавал исключение, когда элемент не найден?
Я новичок в jQuery, и я бы хотел упростить обработку элементов, которые он не может найти, что является довольно распространенной проблемой. Следующий код показывает, что я имею в виду:
var category = $('select#Category');
Теперь я могу проверить возвращаемую переменную, чтобы убедиться, что она не найдена, но я определенно предпочел бы, чтобы в этом случае было автоматически выбрано исключение. Возможно ли это с помощью jQuery? Если нет, существует ли распространенная идиома для реализации такой автоматической проверки ошибок поверх jQuery?
Ответы
Ответ 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