Tentei aplicar .trim()
a uma string em um dos meus programas JavaScript. Está funcionando bem no Mozilla, mas um erro é exibido quando o tento no IE8. Alguém sabe o que está acontecendo aqui? Existe alguma maneira de fazê-lo funcionar no IE?
código:
var ID = document.getElementByID('rep_id').value.trim();
exibição de erro:
Mensagem: O objeto não suporta esta propriedade ou método Linha: 604 Char: 2 Código: 0 URI: http: //test.localhost/test.js
javascript
internet-explorer
trim
Jin Yong
fonte
fonte
"whatever ".trim()
tente isso no IE8.trim()
e não acreditei nos meus olhos quando descobri que não havia suporte. Obrigado por esclarecer isso. Eu ia perguntar o mesmo que você pediu.Respostas:
Adicione o código a seguir para adicionar a funcionalidade de apara à string.
fonte
replace(/^\s\s*/, '').replace(/\s\s*$/, '')
deve ser cerca de 3 vezes mais rápido do quereplace(/^\s+|\s+$/, '')
no Firefox 2, de acordo com um ponto de referência: blog.stevenlevithan.com/archives/faster-trim-javascriptreplace(/^\s+|\s+$/, '')
apenas remove os espaços iniciais ou finais, que não é o comportamento esperado de uma função de recorte. Se você deseja remover os espaços à esquerda e à direita, precisa usarreplace(/^\s+|\s+$/g, '')
.Parece que essa função não está implementada no IE. Se você estiver usando jQuery, poderá usar
$.trim()
( http://api.jquery.com/jQuery.trim/ ).fonte
jQuery:
Alguém usa,
$("#mycomment").val().trim();
mas isso não funciona no IE.fonte
Infelizmente, não há suporte a JavaScript entre navegadores para trim ().
Se você não estiver usando jQuery (que possui um método .trim ()), poderá usar os seguintes métodos para adicionar suporte a aparar as strings:
fonte
https://developer.mozilla.org/En/Core_JavaScript_1.5_Reference/Global_Objects/String/Trim
Esta é uma adição muito recente ao javascript, e não é suportada pelo IE.
fonte
Eu tive um problema semelhante ao tentar aparar um valor de uma entrada e depois perguntar se era igual a nada:
No entanto, isso lançou uma chave nos trabalhos para o IE6 - 8. Irritantemente, eu tentei varrer da seguinte maneira:
No entanto, usando o método de corte do jQuery, funciona perfeitamente para mim em todos os navegadores.
fonte
Eu escrevi algum código para implementar a funcionalidade de apara.
LTRIM (corte à esquerda):
RTRIM (corte à direita):
TRIM (apara ambos os lados):
OU
Expressão regular também está disponível, que podemos usar.
Explicação útil
fonte
\t
,\r
,\n
e tal. Sóspaces
. O Regexp é melhor se você não estiver realmente se esforçando para lidar com tudo manualmente.Podemos obter o código oficial da internet! Consulte isto:
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/trim
para saber mais: Acabei de descobrir que existe um projeto js para oferecer suporte ao EcmaScript 5: https://github.com/es-shims/es5-shim lendo o código-fonte; podemos obter mais conhecimento sobre o trim.
fonte
Eu não acho que exista um
trim()
método nativo no padrão JavaScript. Talvez a Mozilla forneça um, mas se você quiser um no IE, precisará escrevê-lo. Existem algumas versões nesta página .fonte
Eu tive o mesmo problema no IE9 No entanto, quando declarei a versão html suportada, com a seguinte tag na primeira linha antes do
O problema foi resolvido.
fonte
Isso ocorre devido ao erro de digitação getElementBy ID . Altere para getElementById
fonte
fonte
Acabei de descobrir que o IE para de dar suporte
trim()
, provavelmente após uma atualização recente do Windows. Se você usa dojo, pode usardojo.string.trim()
, ele funciona em várias plataformas.fonte
Esse problema pode ser causado pelo IE usando o modo de compatibilidade em sites da intranet. Há duas maneiras de resolver isso: você pode atualizar o IE para não usar o modo de compatibilidade em sua máquina local (no IE11: Ferramentas-> Configurações do modo de compatibilidade -> desmarque Exibir sites da intranet no modo de compatibilidade)
Melhor ainda, você pode atualizar as metatags na sua página da web. Adicionar em:
O que isto significa? Está dizendo ao IE para usar o modo de compatibilidade mais recente. Mais informações estão disponíveis no MSDN: Especificando modos de documento herdados
fonte