问题
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-
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?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
来源:https://stackoverflow.com/questions/25270638/caching-dom-elements