Caching DOM elements

2019-06-04 03:29发布

问题:

When I have a DOM elements that are accessed many times in event handlers but not consecutively in code, is it benefical to store them in a variable? Examples-

  1. I have an event handler set for onresize - in the handler I get elements by ID's. As I know, this event is triggered multiple times when window is resized, so would it be better to hold a reference to these elements in global variables?

  2. I implement an AJAX based search. I have an input-text element and I've set handler for onkeyup event. In the handler I need to get some elements by ID to set the result, and also to hide and show (css) some other elements. Same question here- is that even gives some performance benefits to store them, or there's no point?

回答1:

Yes is it space beneficial to "store it in code" or cache them, as it saves processing power.

See: Does jQuery cache elements internally?

Here is another example: http://jquery-howto.blogspot.com/2008/12/caching-in-jquery.html