通过id获取元素的更有效方法是什么 - #id或span#id以及为什么?

时间:2011-10-24 17:05:51

标签: javascript jquery dom

通过id获取元素的更有效方法(如果其id是唯一的)?

#id

#div1 #id

span#id

为什么?

你可以告诉我在哪里可以读到这些东西吗? (如何更快,更有效地使用jQuery选择器和为什么如此

谢谢!

6 个答案:

答案 0 :(得分:2)

#id

为什么呢?因为它不会查看其他条件,并且在任何情况下,#id应该只有一个,因此它不会(在很多情况下)使用span#id

答案 1 :(得分:2)

#id //在jQuery中通过Id获取元素的最有效方法

HTML元素的id被认为是唯一的,因此jQuery将使用document.getElementById()而不是document.getElementsByTagName(),并迭代搜索正确元素的元素数组。

答案 2 :(得分:1)

只是id更好,因为代码必须查找单个元素。
见这个测试证明它http://jsperf.com/id-vs-tag-id

答案 3 :(得分:1)

CSS选择器(以及 Sizzle ,jQuery中用于执行查询工作的东西)来自

从右到左

知道这一点,你可以自己轻松回答这个问题。只查询#id始终是最快的解决方案。不仅仅是因为之后会有更多的语句被查询,而且jQuery也会为你优化这个案例。这意味着,只需要一个像#id这样的选择器就可以直接调用.getElementById(),这是获得元素引用的最快的DOM操作。

然而,在其他情况下,不要过度明显也会更快。那是因为从右到左的事情。

答案 4 :(得分:0)

使用jQuery很容易使用$("#theId")因为它所寻找的是唯一的id而不是寻找其他条件,例如父ID

答案 5 :(得分:0)

#id是最快的,因为它是独一无二的。

我不知道您可以在哪里阅读,但这里有一个页面,您可以测试和评估选择器:

Benchmark selectors