javascript setAttribute函数

时间:2015-05-08 22:01:02

标签: javascript wait setattribute

我的setAttribute功能存在问题。

这是我的代码

mind.SetRequest(rec_input.value);
mind.Reply();
element.setAttribute('text', mind.GetReply());
element.speak();

element.speak()并未等待setAttribute完成。

speak()完成后是否有任何功能可以调用setAttribute

加载img.onload = function(){ . . . }后调用的img函数是否有类似的方法可以在speak之后调用setAttribute函数?

1 个答案:

答案 0 :(得分:2)

试试这个:

mind.SetRequest(rec_input.value);
mind.Reply();
element.setAttribute('text', mind.GetReply());
setTimeout(function () {
   element.speak();
}, 0);

setAttribute()是同步的,但它是基于DOM的方法。这意味着浏览器需要一些额外的处理器滴答来设置该属性。因此,使用超时将代码执行(尝试获取该属性)移动到下一个事件循环。