大的innerHTML注入后访问DOM

Jod*_*aki 3 html javascript

我有一些看起来像这样的代码

//create a long string of html, which includes a div with id="mydiv"
someElement.innerHTML = s; //s is the string above
document.getElementById('mydiv')
Run Code Online (Sandbox Code Playgroud)

现在,在我设置了 innerHTML 之后,浏览器需要一段时间才能实际呈现包含 id="mydiv" 的 DOM。那么,javascript 会坐下来等待 dom 在 innerHTML 注入后正确呈现,还是会继续移动并调用现在不安全的 getElementById,因为该 id 的 DOM 可能尚未创建?

use*_*716 5

下面是一个示例,该示例使用 将近 12,000 个元素插入到 DOM 中innerHTML,然后调用getElementById()以查找末尾具有 ID 的一个元素。

它成功地找到了元素。

示例: http : //jsfiddle.net/fzUUU/