2011-06-21 30 views
5

Używam funkcji podziału w JavaScript. Działa dobrze w przeglądarkach Firefox i Chrome, ale program IE wyświetla komunikat o błędzie podczas wywoływania funkcji podziału. Czy istnieje sposób użycia innej funkcji, takiej jak split?Funkcja podziału JavaScript nie działa w IE

+5

Chcesz zobaczyć swój kod i jaki jest błąd, który otrzymujesz? – kinakuta

+4

Obsługuje, prawdopodobnie zawiedzie w przypadku czegoś innego w kodzie. Opublikuj swój kod, a my zobaczymy. –

+0

Postaramy się odpowiedzieć tak szybko, jak możesz wkleić swój kod. Wybierz swój kod po wklejeniu i kliknij przycisk {} – mplungjan

Odpowiedz

6

split Method

Jest w pełni obsługiwane przez IE8

split method for JScript 5.6

Jest również w pełni obsługiwana przez IE6

Live example użyciu .split(/\s+/)

Testowany w normach IE9, tryb IE9 IE8, IE9 Tryb IE7 i tryb dziwactw IE9. Cała praca.

Edit:

Okazuje się, że rzeczywisty problem używając .textContent. To nie działa w IE. Istnieją dwie alternatywy. Wykrywanie

Cecha:

var str; 
if (el.textContent) { 
    str = el.textContent; 
} else { 
    str = el.innerText; 
} 

.nodeValue:

var str = el.nodeValue;

+0

rozumiem mój problem i używam tego kodu textContent.split (/ \ s + /); więc textcontent działa w trybie ff i crome, ale nie działa w ie. rozwiązaniem jest użycie innertextu, który nie działa w systemie ff, więc istnieje inne rozwiązanie. –

+1

@VbPatel Tak '.textContent' nie jest obsługiwany. Użyj '.nodeValue' – Raynos

0

Istnieje co najmniej jedna różnica między IE poniżej 9 i większość innych przeglądarek, gdy do czynienia z Podział na ciągi -

var s = 'W niektórych przeglądarkach możesz "podzielić" ciąg na ograniczniku z przyponami i zwrócić bity "dzielone" w tablicy.';

s.split(/(?['"] ?)/).join('\n') 

/***************************************************/ 
Firefox 4.0.1>> 
In some browsers, you can 
" 
split 
" 
a string on a parenthized delimeter and return the 
" 
split-off 
" 
bits in the array. 
/***************************************************/  
MSIE 8.0>> 
In some browsers, you can 
split 
a string on a parenthized delimeter and return the 
split-off 
bits in the array. 
/***************************************************/  
MSIE 9.0>> 
In some browsers, you can 
" 
split 
" 
a string on a parenthized delimeter and return the 
" 
split-off 
" 
bits in the array. 
1

Po podzieleniu liczby zamiast ciągu, rzutów JavaScript - obiekt nie obsługuje tej właściwości.

Upewnij się, że masz wartość ciągu w var.