¿Por qué me estoy poniendo ...
TypeError no detectado: string.split no es una función
... cuando corro ...
var string = document.location;
var split = string.split('/');
javascript
jquery
split
Eric
fuente
fuente
document.location
es un objeto. Prueba:var string=document.location.href
Respuestas:
Cambia esto...
a esto...
Esto se debe a que
document.location
es un objeto de ubicación . El valor predeterminado.toString()
devuelve la ubicación en forma de cadena, por lo que la concatenación lo activará.También puedes usar
document.URL
para obtener una cadena.fuente
toString()
lugar de la concatenación hacky?+ ''
es un truco bastante común para la coacción cadena, pero algunas personas prefieren eltoString()
método. No lo consideraría más peligroso que usar el unario+
para la conversión de números.parseInt()
yparseFloat()
. También hayNumber()
. El+
es más corta, por supuesto, pero menos legible para alguien no acostumbrado a hacky código o con menos experiencia.+ ''
método no cambia nada para mí en el navegador Chrome, pero lotoString()
hace.my_string + "".split()
? Si es así, necesita parens ya que+
tiene una precedencia menor que.
. Así que así:(my_string + "").split()
tal vez
asumiendo que quieres la URL actual
fuente
ejecuta esto
tu quieres
document.location.toString()
odocument.location.href
fuente
document.location
no es una cuerda.Probablemente quieras usar
document.location.href
o en sudocument.location.pathname
lugar.fuente
En clausula si, usar
()
. Por ejemplo:fuente