我在chrome中有奇怪的行为,(ff& ie works :))
观察:
function doSomething(){
var status = "completed,please fix,qualified,cancel".split(',');
$('.searchControls .status').html(status.join(','));
}
未捕获TypeError:对象已完成,请修复,合格,取消没有方法'加入'
我该如何解决这个问题?我做错了吗?
答案 0 :(得分:2)
似乎是一个名字冲突的案例。有一个window.status
属性可以将所有内容转换为字符串。观察:
> window.status
=> ""
> var status = 1
=> undefined
> window.status
=> "1"
> var status = ['completed', 'cancel']
=> undefined
> window.status
=> "completed,cancel"
解决方案:选择其他名称。例如my_status
。
答案 1 :(得分:0)
我认为window.status是一个保留字,因此会导致错误。将“status”变量的范围包装到“window”以外的其他位置或尝试重命名变量,例如。
var myStatus = "completed,please fix,qualified,cancel".split(',');
$('.searchControls .status').html(myStatus.join(','), 1);
......它有效。