以下哪个选择器具有更好的性能(如果不相同)
$('#location_form input#id_name')
$('#id_name')
我经常会遇到像上面这样的问题。我无法真正回答它们,因为我缺乏关于如何在幕后进行选择工作的知识。
我问:
非常感谢。
答案 0 :(得分:3)
对于更大的文档,#1可以有更好的性能,因为它将搜索限制为id为'location_form'的元素的后代,而#2将搜索整个文档。
请参阅http://api.jquery.com/category/selectors/,更具体地说,请http://api.jquery.com/descendant-selector/
答案 1 :(得分:3)
使用选择器,后者更快,因为jQuery确定您只想按ID选择并返回document.getElementByID
:https://github.com/jquery/jquery/blob/master/src/core.js#L145-165
以下是完整的源代码:https://github.com/jquery/jquery/blob/master/src/core.js#L78-188