9 Stimmen

einfaches javascript: url nach string suchen, etwas tun

Ich brauche nur eine einfache Funktion, die die aktuelle URL für eine Zeichenfolge (z. B. "Natur") suchen wird und dann eine Klasse zu einem Objekt hinzufügen wird. Ich halte Wege zu finden, um die Abfrage zu suchen, aber ich möchte die gesamte Url zu suchen. Wenn möglich, ohne jQuery. Wenn nicht, jQuery wird funktionieren.

14voto

James Allardice Punkte 161987

Sie können die URL mit window.location.href und durchsuchen Sie sie nach Belieben:

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

window.location を返します。 Location Objekt, das eine Eigenschaft hat href die die gesamte URL der Seite enthält.

3voto

bfavaretto Punkte 70403

Der einfachste Ansatz ist etwa folgender:

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

Das wird zurückgegeben -1 wenn die Zeichenkette nicht gefunden wird. Andernfalls wird der Index der Zeichenkette innerhalb der URL-Zeichenkette zurückgegeben.

1voto

Marc B Punkte 347897

Alternativ können Sie Regexe verwenden:

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

1voto

James Johnson Punkte 44864

Wenn Sie nach einem Wert im QueryString suchen, können Sie dies versuchen:

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

Andernfalls können Sie dies tun:

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

Sie können auch dies tun:

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

Um zu überprüfen, ob das Wort gefunden wurde, können Sie wie folgt vorgehen:

if (searchIndex > -1)
    //logic here

0voto

ZenMaster Punkte 11743

Ich denke, dass dies ein guter Ausgangspunkt für Sie ist. JSFiddle ist hier verfügbar.

<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');

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X