2010-09-08 20 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()

相關問題