2012-04-20 27 views
6

Quiero poder verificar si url contiene el catálogo de palabras.jquery cómo verificar si url contiene palabra?

Esto es lo que estoy tratando ...

$(document).ready(function() { 
     if (window.location.href.indexOf("catalogue")) 
     { 
      $("#trail").toggle(); 
     } 
    }); 

La dirección URL del sitio podría ser ..

http://site.co.uk/catalogue/ 

O

http://site.co.uk/catalogue/2/domestic-rainwater.html 

etc.

Pero no funciona. ¿Puede alguien señalar dónde me estoy equivocando?

+1

cambiar if (window.location.href.indexOf ("catalog")) a if (window.location.href.indexOf ("catalog")> -1) – rt2800

+0

http://stackoverflow.com/questions/897903/condition-to-test-if-a-word-exists-in-window-location-href – Richard

+0

¿Has probado la documentación ['.indexOf()'] (https://developer.mozilla.org/es/JavaScript/Reference/Global_Objects/String/indexOf)? – nnnnnn

Respuesta

22

Probar:

if (window.location.href.indexOf("catalogue") > -1) { // etc 

indexOf no devuelve verdadero/falso, devuelve la posición de la cadena de búsqueda en la cadena; o -1 si no se encuentra.

+0

'! = -1' sería mucho mejor para' indexOf ' –

+0

@Vega No estoy seguro de que acepte que es * mucho * mejor. El resultado es el mismo '> -1' requiere 1 menos de carácter. ¡Si ese código está en un sitio con 1 millón de solicitudes por día, eso significa un gran ahorro de ancho de banda! :-) – Simon

Cuestiones relacionadas