我在 chrome 中出现了奇怪的行为,(ff & ie 有效:))
观察:
function doSomething(){
var status = "completed,please fix,qualified,cancel".split(',');
$('.searchControls .status').html(status.join(','));
}
未捕获的类型错误:对象已完成,请修复,合格,取消没有“加入”方法
我怎样才能解决这个问题?难道我做错了什么?
我在 chrome 中出现了奇怪的行为,(ff & ie 有效:))
观察:
function doSomething(){
var status = "completed,please fix,qualified,cancel".split(',');
$('.searchControls .status').html(status.join(','));
}
未捕获的类型错误:对象已完成,请修复,合格,取消没有“加入”方法
我怎样才能解决这个问题?难道我做错了什么?
似乎这是一个名称冲突的情况。有一个window.status属性可以将所有内容都转换为字符串。观察:
> window.status
=> ""
> var status = 1
=> undefined
> window.status
=> "1"
> var status = ['completed', 'cancel']
=> undefined
> window.status
=> "completed,cancel"
解决方案:选择其他名称。my_status, 例如。
我相信 window.status 是一个保留字,因此会导致错误。将“状态”变量的范围包装到“窗口”以外的其他内容,或者尝试重命名变量,例如。
var myStatus = "completed,please fix,qualified,cancel".split(',');
$('.searchControls .status').html(myStatus.join(','), 1);
......它的工作原理。