When creating elements via code, I have encountered an issue where modifying the innerHTML
property of an element breaks any references to other elements that are injected into the modified element prior to the modification.
I have a test case here: http://jsfiddle.net/mJ7bF/1/ in which I would expect the link1
reference to behave exactly as link2
does.
This second test case is the same code, but instead of using the innerHTML
property to add the <br>
tag, I create the line break with an object. This test behaves as expected: http://jsfiddle.net/K4c9a/2/
My question is not regarding this specific code, but the concept behind it: what happens to the link1
reference in that first test case? If it doesn't refer to the HTML/DOM node that is visible when the cont
node is injected into the document, what DOES it refer to, and how does this fit in with the ByReference nature of javascript objects?