JQuery позволяет нам напрямую использовать метод $ .css() и передавать исходный элемент DOM в качестве первого параметра. Например, если я хочу установить 'а' с шириной myDiv, JQuery позволяет этот синтаксис:
(вариант 1):
var elem = document.getElementById('myDiv');
var a = $.css(elem, 'width');
вместо этого (вариант 2):
var a = $('#myDiv').css('width');
Вариант 1 не требует селектора, и он, похоже, полагается на глобальный объект jQuery, а не на создание нового. Я не могу найти документацию в jQuery API или онлайн об этом методе. Я предполагаю, что это будет увеличение производительности, особенно когда в анимации требуются объекты jQuery. Любая причина, почему я не должен использовать этот метод?
Спасибо!
EDIT: Perf тесты показывают, что вариант 1 немного быстрее. Не похоже, что есть какая-то причина не использовать $ .css() напрямую. Спасибо всем за ответы!
'document.getElementById («myDiv»). style.width', вероятно, будет еще быстрее, так почему бы не использовать это ? – adeneo
Еще один вариант: '$ (document.getElementById ('myDiv')). Css ('width')' (хотя я сомневаюсь, что это будет быстрее первого). –
В упрощенном примере выше вы были бы правы, но я создаю свои собственные CSS-крючки, а родной JS не будет работать. Моя вторая опция работает с пользовательскими стилями CSS. –