2011-09-26 13 views

Odpowiedz

10

można uzyskać URL z window.location.href i szukać go jednak lubisz:

var location = window.location.href; 
if(location.indexOf("whatever") > -1) { 
    //Do stuff 
} 

window.location zwraca Location obiekt, który ma właściwość href zawierający cały adres URL strony.

3

Najprostszym rozwiązaniem jest coś takiego:

window.location.href.indexOf('nature') 

Że wróci -1 jeśli ciąg nie zostanie znaleziony. W przeciwnym razie zwraca indeks ciągu wewnątrz ciągu URL.

1

Korzystanie regexes jako alternatywę:

if (window.location.toString().match(/nature/)) { 
    yourobj.className = 'newclass'; 
} 
0

Jeśli szukasz wartości w QueryString, można spróbować to:

var searchIndex = window.location.search.indexOf("nature"); 

W przeciwnym razie, można to zrobić:

var searchIndex = window.location.href.indexOf("nature"); 

można też to zrobić:

var searchIndex = window.location.href.search("/nature/"); 

Aby sprawdzić, czy słowo zostało znalezione, można to zrobić:

if (searchIndex > -1) 
    //logic here 
0

myślę, że ten powinien dać dobry punkt wyjścia. JSFiddle jest dostępna tutaj.

<div id="test">Some text</div> 

.red 
{ 
    background-color: #FF0000; 
} 

function handler(url, textToMatch, objectToChange, classToAssign) 
{ 
    if (url.search(textToMatch) != -1) 
    { 
     objectToChange.className = classToAssign; 
    } 
} 

var url = 'http://www.some-place.com&nature'; //window.location.href in your case 
var div = document.getElementById('test'); 

handler(url, 'nature', div, 'red'); 
0

Haszysz w adresie URL spowodowały problemy dla mnie, więc użyłem zamiast "?".

Jako przykład powiedzmy, że mam URL: http://example.com?someString

Najpierw pobierane URL: "?"

var activeURL = window.location.href; 

Wtedy biorę wszystko z indeksem + 1 (ponieważ nie chcę dodawać "?").

var activeItem = aactiveURL.substring(activeUrl.indexOf('?') + 1, activeURL.length); 

activeItem będzie "someString"

Powiązane problemy