I'm having a lot of elements which are generated and referenced (mouseover, clicks, position changes) a lot of times.
I have the ID's of those elements at hand. Is it wise to store the document.getElementById(ID)
calls in a variable, or is it faster/just as fast/slower to call document.getElementById()
everytime?
var app = [];
var app.elements = [];
//i can store ['id1', 'id2', 'id3']
//OR ['id1' => document.getElementById('id1'), 'id2' => document.getElementById('id2'), 'id3' => document.getElementById('id3')]
You should of course reuse the reference where possible, but you might need to get a new reference in each function body.
Example:
var e1 = document.getElementById('id1');
e1.innerHTML = 'test';
e1.className = 'info';
If you keep references longer, you may find that they no longer work. If you for example get innerHTML for a part of the page and stores it back, all elements in that part is removed and recreated. If you had a reference to one of the elements in that part, that element no longer exists.
// This will recreate all elements inside the 'parent' element:
document.getElementById('parent').innerHTML += 'test';
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With