2012-11-28 111 views
0

选择我们如何优化这个选择:优化jQuery中

$(".testClass div#testID:eq(0)") 
+0

你怎么能在一个ID上调用eq?只有一个? – lifetimes

+0

为了给你的答案提供一些上下文,'id'属性应该是唯一的,因此使用'id'选择器 - '#testID' - 应该只会返回给你一个元素,因此你的选择器中的其他内容都是多余的。 –

+0

@RoryMcCrossan - 如果代码在多个页面上使用,但只应用于一个页面(当两个页面包含具有相同ID的元素时),则不适用。 –

回答

5

由于只有一个元素可以有一个给定的ID,只需做

$("#testID") 
+0

这个*可能被过于优化了......如果代码包含在多个页面中,但只适用于多个页面中包含此ID的元素时,那么限定ID选择器会很有用。 –

+0

@JamesAllardice是的,但在这种情况下,我们没有所需的信息来优化。 –

2

非常优化的版本:

$("#testID") 
+0

太慢了 - 被@destroy殴打了! –

+1

@BillyMoon也是2秒。 ()# –

+0

@BillyMoon只是'$(“#testID”)'太短而不能回答:) – VisioN