在jQuery中,选择器$(‘[id = foo]’)效率低于$(‘#foo’)吗?
>简短易用:是的!
>长篇故事(实际上仍然很短)
$('[id=foo]')
使用Sizzle(css查询引擎)来选择元素
$('#foo')
直接调用getElementById.
为了有一个很长的故事,我们在这里:$(‘[id = foo]’)是$(‘*:[id = foo]’)的同义词,它使用通用选择器.这意味着,它会查询标记中的所有节点,然后查看其中哪些节点具有id === foo(然后希望它只匹配一个元素,ID =唯一).当然,这是昂贵的,非常昂贵的.这就是为什么你永远不应该写这样的选择器!如果可能的话,始终完全符合条件,例如$(‘span:[id = foo]’)