Я работающий с jQuery и я должен добраться в любое время и anywere исключение (с любой операцией), если я присоединяю некоторое событие или пытаюсь выполнить некоторое действие с элементами (полученный от селектора), которые не существуют. Есть ли некоторый внутренний "строгий" режим в jQuery для этой проблемы?
Нет, нет.
Однако вы можете сделать для этого простой плагин:
$.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(...);
Проверьте этот пост, чтобы узнать о способах обработки "существует"
Нет, в этом вся прелесть jQuery.
Вы можете создать функцию-обертку
function myjQuery() {
var res = $.apply(this, arguments);
if (!res.size()) {
throw new Error("No elements matched :(");
};
return res;
};
myjQuery('input').each();
Это не будет маскировать пустые наборы, возвращаемые с помощью find()
или filter()
и тому подобное, но...