Первый метод с .filter(':odd')
, скорее всего, медленнее, потому что он использует дополнительный вызов метода и использует нестандартный селектор.В этом случае jQuery должен обрабатывать все.
Второй метод потенциально будет более быстрым в современных браузерах, которые реализуют API селекторов и поддерживают псевдокласс :nth-child()
, поскольку данный селектор является допустимым CSS, поэтомуСелектор будет оцениваться современным механизмом выбора браузера, а не jQuery.В других браузерах, однако, я понятия не имею, но я бы все-таки сделал ставку на то, что второй метод является чуть более эффективным, потому что есть как минимум на один вызов меньше метода.
В любом случае, нетреальная (практическая) выгода или недостаток любого из методов. На самом деле, я только отвечаю теоретически - у меня нет никаких критериев, чтобы что-либо подкрепить.Также не нужно беспокоиться о совместимости браузера, поскольку jQuery в любом случае полностью заполняет селектор :nth-child()
для старых браузеров.