0

我在 chrome 中出现了奇怪的行为,(ff & ie 有效:))

观察:

 function doSomething(){
   var status = "completed,please fix,qualified,cancel".split(',');
   $('.searchControls .status').html(status.join(','));
 }

未捕获的类型错误:对象已完成,请修复,合格,取消没有“加入”方法

我怎样才能解决这个问题?难道我做错了什么?

4

2 回答 2

2

似乎这是一个名称冲突的情况。有一个window.status属性可以将所有内容都转换为字符串。观察:

> window.status
 => ""
> var status = 1
 => undefined
> window.status
 => "1"
> var status = ['completed', 'cancel']
 => undefined
> window.status
 => "completed,cancel"

解决方案:选择其他名称。my_status, 例如。

于 2013-09-30T10:09:12.467 回答
0

我相信 window.status 是一个保留字,因此会导致错误。将“状态”变量的范围包装到“窗口”以外的其他内容,或者尝试重命名变量,例如。

var myStatus = "completed,please fix,qualified,cancel".split(',');
 $('.searchControls .status').html(myStatus.join(','),  1);

......它的工作原理。

于 2013-09-30T10:09:39.067 回答