Javascript Jquery查找vs id属性
目前,我正在寻找访问元素的最快方法 更快的是:Javascript Jquery查找vs id属性,javascript,jquery,Javascript,Jquery,目前,我正在寻找访问元素的最快方法 更快的是: $('body').find('#elemID'); vs Document.getElementById()是最快的,不需要jQuery。然后,如果需要jQuery功能,您可以选择在jQuery中使用$。文档。getElementById()是最快的,不需要jQuery。然后,如果需要jQuery功能,您可以选择使用$将其包装到jQuery中。快速回答是,这并不重要,但如果您必须选择一个,而不是第一个 如果您担心性能,请查找瓶颈,而不是微观优化
$('body').find('#elemID');
vs
Document.getElementById()
是最快的,不需要jQuery。然后,如果需要jQuery功能,您可以选择在jQuery中使用$
。文档。getElementById()
是最快的,不需要jQuery。然后,如果需要jQuery功能,您可以选择使用$
将其包装到jQuery中。快速回答是,这并不重要,但如果您必须选择一个,而不是第一个
如果您担心性能,请查找瓶颈,而不是微观优化
如果可能的话,试着使用vanillaJS,但是如果你使用Jquery,你也可以从中得到最大的好处
constbody=()=>$('body')。查找('elemID');
常量id=()=>$('#elemID');
const idJs=()=>document.getElementById('elemID');
功能性能ALC(fn,参数){
const start=新日期()
常量结果=fn()
const end=新日期()
log(`Result:${Result}${params}。执行时间:${end-start}ms`)
}
performanceCalc(主体,“主体”)
performanceCalc(id,‘id’)
performanceCalc(idJs,'idJs')
快速回答是,这并不重要,但如果你必须选择一个,除了第一个以外的任何东西 如果您担心性能,请查找瓶颈,而不是微观优化 如果可能的话,试着使用vanillaJS,但是如果你使用Jquery,你也可以从中得到最大的好处
constbody=()=>$('body')。查找('elemID');
常量id=()=>$('#elemID');
const idJs=()=>document.getElementById('elemID');
功能性能ALC(fn,参数){
const start=新日期()
常量结果=fn()
const end=新日期()
log(`Result:${Result}${params}。执行时间:${end-start}ms`)
}
performanceCalc(主体,“主体”)
performanceCalc(id,‘id’)
performanceCalc(idJs,'idJs')
如果您使用jQuery,您并不真正关心性能。第二个更快,但第一个比$(“body#elemId”)
更快。在jsperf上运行一些测试并亲自查看(它们可能已经在那里)您正在使用jQuery,因此性能有点无关紧要(至少要担心哪个选择器更快)。但是,后者速度更快,因为只有一个DOM访问。前者无论如何都是多余的,因为DOM中应该只有一个元素具有id
。如果你关心绩效,几乎肯定有更好的地方可以让你集中注意力。document.getElementById()可能比这两者都快(而且你没有花钱加载jquery)。例如,如果你使用jquery,你并不真正关心性能。第二个更快,但第一个比$(“body#elemId”)
更快。在jsperf上运行一些测试并亲自查看(它们可能已经在那里)您正在使用jQuery,因此性能有点无关紧要(至少要担心哪个选择器更快)。但是,后者速度更快,因为只有一个DOM访问。前者无论如何都是多余的,因为DOM中应该只有一个元素具有id
。如果你关心绩效,几乎肯定有更好的地方可以让你集中注意力。document.getElementById()可能比这两个都快(而且您没有付费加载jquery),例如,如果有人想知道,在Win10上的Chrome中这大约快40%:。尽管如此,jQuery仍然可以每秒执行约250万次操作,因此这并不是一个值得创建更多详细代码的关键区别。该死,我刚刚得到了我自己的答案未被接受xD唯一公平的是,如果有人想知道,这在Win10上的Chrome中大约快了40%:。尽管如此,jQuery仍然可以每秒执行约250万次操作,因此这并不是一个值得创建更多详细代码的关键区别。该死,我只是得到了我自己的答案未被接受xD,这是唯一公平的
var id = $('#elemID');