我有一个jQuery UI按钮,我想动态更改其文本。当我这样做时,我在Chrome和IE上没有任何问题:
$('#myButton').find('span:first').text("myText");
然而,Firefox似乎以不同方式处理按钮,并且找不到按钮的跨度。因此,在Firefox上,我会这样做:
$('#myButton').text("myText");
大部分时间都可以使用,但有时候,当我尝试更改文本时,我的按钮还没有准备就绪,或者可能还有另一个原因阻止Firefox正确加载按钮最终得到这样一个按钮:(我省了jQuery UI添加的众多属性)
<button id="myButton">myText</button>
而不是:
<button id="myButton">
<span class="ui-button-text">myText</span>
</button>
因此我的按钮的样式出错了,就像在这些线程中一样: Jquery UI button issue和 jQuery UI: changing button text distorts button sizing
我也按照这里的一些建议尝试了这个:
$("#myButton).button('option', 'label', 'myText');
但是我收到一条错误消息,说我在初始化之前无法调用按钮方法。
这令人愤怒,因为Chrome和IE每次都能很好地处理这个问题。有没有办法获得一致的行为?
谢谢。