【发布时间】:2011-02-03 22:21:59
【问题描述】:
我正在使用 jQuery 来更改标签的 HTML,而新的 HTML 可以是很长的字符串。
$("#divToChange").html(newHTML);
然后我想选择在新 HTML 中创建的元素,但是如果我将代码紧跟在上面的行之后,它似乎会创建一个带有长字符串的竞争条件,其中 html() 所做的更改可能不一定是完成渲染。在这种情况下,尝试选择新元素并不总是有效。
我想知道的是,当对 html() 的更改完成渲染时,是否会触发事件或以其他方式得到通知?我遇到了 jQuery watch 插件,它可以作为解决方法使用,但并不理想。有没有更好的办法 ?
【问题讨论】:
-
JS 是单线程的,所以这真的不应该发生......你能在 jsbin.com 上发布一个重现吗?
-
@Michael - 查看 jsFiddle,发现它更有用:jsfiddle.net
标签: javascript jquery innerhtml