1. A computer implemented method for dynamic Document Object Model (DOM) aware code editing comprising: storing, in a DOM model, a plurality of elements in one or more HyperText Markup Language (HTML) files of a project; identifying, prior to code execution and in the DOM model, at least one modification to the DOM elements that results from the invocation of one or more JavaScript code files for the project, wherein during JavaScript code development, the at least one modification to the DOM elements is based on an interaction between the JavaScript code and the DOM elements; and accessing, prior to code execution, the DOM model to perform at least one of code completion or code refactoring.