jquery – 使用没有选择器的$.css()可以提高性能吗?

Jquery允许我们直接使用$.css()方法并将原始DOM元素作为第一个参数传递.例如,如果我想将’a’设置为myDiv的宽度,则jQuery允许使用以下语法:

(选项1):

var elem = document.getElementById('myDiv');
var a = $.css(elem, 'width');

而不是这个(选项2):

var a = $('#myDiv').css('width');

选项1不需要选择器,它似乎依赖于全局jQuery对象而不是创建一个新对象.我在jQuery API或网上找不到关于此方法的任何文档.我认为这会增加性能,特别是在动画中需要jQuery对象时.我不应该使用这种方法的任何原因?

谢谢!

编辑:
Perf测试显示选项1更快一些.似乎没有任何理由不直接使用$.css().感谢大家的答案!

最佳答案 是的,第一个稍快一点.但它只能获得css值.

我在这里做了一个性能测试:http://jsperf.com/jquery-css-signature你可以修改它并测试其他选项.

现在事实已经确定,在这些性能优化水平上,我认为不值得开销.采用更清晰/可维护的方式获得相同的结果.在大多数情况下,性能优势并不大到真正重要.

点赞