Jquery find vs id属性

时间:2018-05-29 14:46:50

标签: javascript jquery

目前我正在寻找获取元素访问权限的最快方法。

什么更快:

$('body').find('#elemID');

VS

var id = $('#elemID');

2 个答案:

答案 0 :(得分:4)

Document.getElementById()是最快的,不需要jQuery。然后,如果需要jQuery功能,可以使用$将它包装在jQuery中。

答案 1 :(得分:1)

快速回答是没关系,但如果你必须选择除第一个以外的任何东西。

如果你担心性能会出现瓶颈,而不是微观优化。

尽可能尝试使用vanilla js,但是如果你使用Jquery也可以从中获得最大的收益。

const body = () => $('body').find('#elemID');
const id = () => $('#elemID');

const idJs = () => document.getElementById('elemID');

function performanceCalc(fn, params) {
    const start = new Date()
    const result = fn()
    const end = new Date()

    console.log(`Result: ${result} ${params}. Execution Time: ${end - start} ms`)
}

performanceCalc(body, 'body')

performanceCalc(id, 'id')

performanceCalc(idJs, 'idJs')
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<div id="elemID"></div>