是html标签的同步document.createelement吗?

时间:2014-01-30 18:24:52

标签: javascript

我有一些代码来创建一个HTML UI。 我创建div,imgs等。另外,我添加事件代码。 基本上我的代码类似于:(伪代码)

for x =1 to n items
{
switch type of tag (div, img, etc)
my_object =document.create(tag);
do some things with my_object
}

确定。到目前为止,我的代码运行正常,但我有一个可怕的怀疑.... 是否有可能在某些未知条件下,'my_object'未创建,并且未准备好在'使用my_object执行某些操作'时使用? 我在设置样式属性时遇到同样的问题。

换句话说,我可以期待'document.create'和'my_object.style'设置的同步执行吗?重复一遍,到目前为止,我没有问题,但.... 感谢。

编辑:是的,我想写一个创建元素

1 个答案:

答案 0 :(得分:2)

考虑到没有document.create,它是否同步可能并不重要。

如果您正在使用document.createElement,那么它是同步的,并且该元素将存在,但不存在于DOM中,您必须首先将它实际插入DOM中,并且这也是同步的。

作为一般规则,大多数javascript方法是同步的,因为只有一个线程,但有一些例外,例如XMLHttpRequest,setInterval,setTimeout,workers等。