Ho solo bisogno di una semplice funzione che cercherà l'url corrente per una stringa (cioè "natura") e quindi aggiungerà una classe a un oggetto. Continuo a trovare modi per cercare la query, ma voglio cercare l'intero URL. Se possibile, senza jQuery. In caso contrario, jQuery funzionerà.javascript semplice: url di ricerca per stringa, fare qualcosa
risposta
È possibile ottenere l'URL con window.location.href
, e cercare che più vi piace:
var location = window.location.href;
if(location.indexOf("whatever") > -1) {
//Do stuff
}
window.location
restituisce un oggetto Location
, che ha una proprietà href
contenente l'URL completo della pagina.
L'approccio più semplice è qualcosa di simile:
window.location.href.indexOf('nature')
che restituirà -1
se la stringa non viene trovata. In caso contrario, restituisce l'indice della stringa all'interno della stringa dell'URL.
Utilizzando regex, in alternativa:
if (window.location.toString().match(/nature/)) {
yourobj.className = 'newclass';
}
Se siete alla ricerca di un valore nel QueryString, si può provare questo:
var searchIndex = window.location.search.indexOf("nature");
In caso contrario, si può fare questo:
var searchIndex = window.location.href.indexOf("nature");
Si può anche fare questo:
var searchIndex = window.location.href.search("/nature/");
Per verificare se è stata trovata la parola, si può fare questo:
if (searchIndex > -1)
//logic here
Penso che questo dovrebbe darvi un buon punto di partenza. JSFiddle è disponibile qui.
<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');
L'hash nell'URL causato problemi per me, così invece ho usato un "?".
Come esempio permette di dire che ho l'URL: http://example.com?someString
Per prima cosa ho recuperate l'URL: "?"
var activeURL = window.location.href;
Allora prendo tutto dall'indice di + 1 (perché non mi interessa includere "?") In poi.
var activeItem = aactiveURL.substring(activeUrl.indexOf('?') + 1, activeURL.length);
activeItem sarà "someString"
- 1. qualcosa di simile in javascript per Ruby # {valore} (stringa interpolazione)
- 2. Come fare una semplice ricerca di file cmd
- 3. Ricerca semplice per valore?
- 4. Come implementare una semplice ricerca stringa
- 5. Ricerca percorso percorsi dalla stringa url
- 6. Semplice problema di ricerca eclissi
- 7. Stringa di ricerca per numeri
- 8. Ricerca di una stringa per lettere mancanti dell'alfabeto in javascript
- 9. fa minHeight fare qualcosa?
- 10. Ricerca hash semplice per valore
- 11. Ricerca dell'API Ricerca Google personalizzata Immagine per immagine URL
- 12. jquery Fare semplice matematica?
- 13. Se esiste una classe, fare qualcosa con Javascript
- 14. Come fare ricerca URL inversa in applicazione riutilizzabile Django namespace
- 15. Bug con RegExp in JavaScript quando fare ricerca globale
- 16. Fare clic su OPPURE, quindi fare qualcosa
- 17. Come posso fare qualcosa come "per char in stringa" nello script Vim?
- 18. Ricerca semplice sito con Duckduckgo
- 19. parser Javascript per un'espressione semplice
- 20. Ricerca full-text in Javascript
- 21. semplice regex sostituire per mantenere stringa originale
- 22. Come fare qualcosa prima di inviare?
- 23. Ricerca di un semplice spider Java
- 24. Javascript ricerca e sostituzione
- 25. Ricerca semplice in Django
- 26. C'è un modo per fare qualcosa di simile in C#?
- 27. jQuery se url hash, fare clic su evento/attivare javascript
- 28. Javascript matrice di ricerca chiave
- 29. Ricerca immagini Google: come si costruisce un URL di ricerca immagine inversa?
- 30. fare un semplice cursore jQuery