<input id="mnc" type="text"/>
<input type="text" id="selected" />
$('#mnc').val().length ? $('#selected').attr({
'size': $('#mnc').val()
}) : $('#selected').removeAttr('size');
这在Firefox 4中出错。
指数或大小为负或更高 比允许的金额“代码:”1
即使属性不存在,其他浏览器也能够处理removeAttr
。我正在做的是检查输入#mnc是否为空,然后从#selected
删除属性大小是否存在。
答案 0 :(得分:2)
这是Firefox中的一个错误,请参阅jQuery bug report。 jQuery Version >= 1.6
应该有解决方法。
编辑:可悲的是,修复版将以1.6发布(不是我之前写的1.5.2)。 Firefox 4.0.1应该在firefox端修复它。您必须决定期望安装4.0.1必须自己应用补丁。
答案 1 :(得分:1)
这是一个要看的片段,它正在运作
$('#mnc').change(function () {
if ($(this).val().length > 0) {
$('#selected').attr({'size': $(this).val().length});
} else {
$('#selected').removeAttr('size');
}
});
答案 2 :(得分:0)
为什么不首先尝试设置然后取消设置,以确保它始终存在?
$('#selected').attr('size','').removeAttr('size');