2017-06-04 22 views
0

我想使用變量來存儲靜態選擇器,我在特定範圍內使用了多次。哪種效率更好?用於重複選擇器或更簡潔的選擇器的變量列表

  • 這些變量是全局變量,因爲所有函數定義和事件監聽器都直接在jquery的$(function(){ });範圍內。
  • 我可以做一些單數項目ID,我相信它是最快的選擇器,儘管太多的ID可能是壞的,並且在需要選擇多個元素時不會提供服務。
  • 對於任何非類或標識(罕見),我在jQuery中使用稍微複雜的選擇器或者作爲js遍歷DOM。

爲了提高效率,最好是將所有重複選擇器存儲在最需要的地方,而不總是全局的,或者對於一些較快的地方如ID和類,我應該每次做出新的選擇器?

我注意到並聽說tagName選擇器可能效率低下,我應該給這些ID /類或製作一個tagName選擇器一次,將其存儲在一個var並重復使用該var。

這只是關於靜態元素,對DOM的更改需要一個新的選擇器來包含新的元素。

+2

緩存總是更好,如果我明白你的意思。所以'var selected = $(「#selected」)'總比每天用jquery選擇它要好。 https://code.tutsplus.com/tutorials/10-ways-to-instantly-increase-your-jquery-performance-net-5551 –

+0

你確定,你已經有速度的問題了嗎?也許它是一個過早優化的例子。 – xDreamCoding

+0

@xDreamCoding速度不是一個大問題。但是有一些可以改進的地方。如果一個項目完成了,我相信所有的改進都應該在部署的版本中進行。 – wordSmith

回答