Вы могли бы написать простой метод расширения, чтобы делать то, что вы хотите, например:
jQuery.fn.ifCount = function(count) {
return this.length === count ? this : $();
};
Затем в вашем коде вместо if
каждый раз, вы можете просто вызвать это в цепочке,например:
$("div").ifCount(2).css({ color: 'red' });
Если счет равен 2, то набор продолжается и .css()
запускается на элементах.Если число не равно 2, возвращается новый пустой набор, поэтому .css()
не работает ни на чем.
Если вы хотите просто привязать любое количество элементови не заботится о том, сколько, не нужно ничего проверять, вы можете просто сделать:
$("div").click(function() { .... });
Это работает, если есть 0, 1 или 400 <div>
элементов, это не имеет значения,Поведение jQuery по умолчанию состоит в том, чтобы просто продолжить цепочку с соответствующими элементами ... если в цепочке 0, то функции просто выполняются без элементов, но не выдает ошибку .Это также не относится к обработчикам событий, оно работает с любым кодом jQuery (и плагинами, которые написаны правильно).