2014-01-12 20 views
1

有一組類似元件與similiar標識jQuery選擇使用ID正則表達式或冗餘類

這裏有兩種方法來使用JQuery以選擇它們:

  1. ID +正則表達式(例如:How can I select an element by ID with jQuery using regex?

  2. Add ar edundant類的所有元素,然後選擇類

這裏是例子:

http://jsfiddle.net/J6hGx/31/

哪種方法更好? ID+Regex更耗時?

+0

RegEx不是本機支持的選擇器。因此,如果您使用類將相似的元素分組,則速度會更快。 –

+0

這真是一個性能瓶頸嗎? –

+0

@ t.niese當然,但這個班是**冗餘**。 –

回答

0

使用類比選擇器的性能會更好。

在DOM中,具有更多特異性的東西會更好。有未使用的類不會挫敗渲染引擎。

最後,使用特定的類增加了代碼的可讀性。

+0

這是錯誤的,在這種情況下類是選擇器,並且特性與JavaScript性能無關。無論選擇器是否可以由本地方法直接使用,或者在querySelector中使用都很重要,並且在較舊的瀏覽器中,由於IE直到最近才支持getElementsByClassName或querySelectorAll(IE8 for QSA),所以類很適合性能。 – adeneo

+0

你說得對。但是,DOM API可以通過'getElementsByClassName'和'querySelectorAll'查詢更簡單的時間嗎? – beautifulcoder

+0

不,不是,但在IE7及以下根本沒有選擇類,所以jQuery必須遍歷DOM中的所有元素並檢查每個元素的className,因此在這些瀏覽器中,任何事情都會更快,但是如果查詢選擇器不受支持,則通過屬性定位確實有點相同,所以它將是同樣的事情。 – adeneo