2012-11-28 39 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