The problem is not JavaScript. Nor is it really the DOM. It is the interface between the two.