2010-09-08 53 views
9

我有一个变量:的JavaScript字符串 - 获取字符在某一点

var text = "hello"; 

我想要得到的0定位角色,所以:

var firstChar = text[0]; 

简单。在Firefox和铬这个作品。但在IE浏览器,我总是回来'undefined'

任何想法,为什么这可能会发生在IE浏览器?

+3

从现在开始,学会在'good'浏览器工作在'IE'不起作用一切。我认为微软的人想要在当前的Web开发背景下编写一个额外的维度。 – 2010-09-08 14:32:17

+0

Addenda:在IE8中正常工作(正如我写的),并且在IE7中不是抛出一个错误,而是返回一些被解析为NaN而不是爆炸的东西。跟踪这个问题确实需要比它应该更长的时间... – ANeves 2011-01-07 18:37:31

回答

17

字符串不能像IE中的数组一样访问(在IE9之前)。相反,你可以使用charAt,这是可以跨浏览器:

var text = "hello"; 
var firstChar = text.charAt(0); 
// firstChar will be 'h' 
+1

+1 * charAt()*。 FWIW,标准模式下的IE8和IE9支持像Chrome和Firefox这样的字符串中字符的阵列式引用。 – 2010-09-08 14:36:44

+0

谢谢,这在IE浏览器中很有用! – adamwtiko 2010-09-08 14:41:15

1

您可以使用.substr()

​​3210
+0

我会使用它,因为它是最具有跨浏览器兼容性的。 – 2010-09-08 14:26:35

0

我不知道为什么不工作,但你可以尝试使用substr()