2013-07-03 29 views
0

我試圖根據URL的內容隱藏div標籤。如何檢查一個URL包含一個字符串並處理反斜槓

不過,我想搜索的不僅僅是「永邦」

更加如果我的網址是://MYWEBSITE/EN/HOME

我要檢查:/EN/HOME不僅僅是回家。但是,如果我嘗試這個,它只是返回false。

我的理論是它的正斜槓,但我是java/jquery新手所以我不知道。也許在搜索條件中有/可以逃避。

此代碼的工作,如果我使用「家

這裏是我的代碼:

if (homepathname.toLowerCase().indexOf('home') >= 0) { 

<script> 
$(function(){ 
    var homepathname = window.location.pathname; 
    if (homepathname.toLowerCase().indexOf('/en/home') >= 0) { 
     $('#masterHomeBanner').show(); 
    } else { 
     $('#masterHomeBanner').hide(); 
    } 
}); 
</script> 

得到任何幫助。

+0

對於哪個url想要擁有'true'和哪個你想擁有'false'並不完全清楚,那麼你能舉出更多的例子,其中測試應該返回'true'並且它應該返回'false'。 'homepathname.toLowerCase()。indexOf('/ en/home')> = 0'匹配每個包含'/ en/home'的URL,因爲這也是'/ test/en/homepage/something'。 –

回答

0
if (homepathname.toLowerCase().indexOf('/en/home') > -1) { 
somecode... 

或者:

if (homepathname.toLowerCase().indexOf('\/en\/home') > -1) { 
somecode... 

的indexOf返回字符的數字,字符爲0時,第一個字符。 失敗時返回-1。

>>> var x = 'home'; x.indexOf('/en/home'); 
-1 
>>> var x = '/en/home'; x.indexOf('/en/home'); 
0 

>>> var x = '/java/jquery'; x.indexOf('/en/home'); 
-1 
>>> var x = '/java/jquery'; x.indexOf('/java/jquery'); 
0 
+0

謝謝,幫助它不是我的問題的斜槓。我現在認識到window.location.pathname沒有返回網站的域名。所以它回到/ en/home,但由於各種原因,我需要一個完全匹配的mydoman/en/home原因是我試圖隱藏的div標籤位於CMS的主頁上,所以確實有兩種情況。只有域名和mydomain/en/home - 正如我所說的javascript newbie :) – user2546534

+0

@WHK爲什麼要在'/'之前加'''? '/'對字符串沒有特殊含義,因此不應該被轉義。儘管在這種情況下忽略了'\',但這種行爲已被廢棄([MDN:值,變量和文字=>轉義字符](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Values,_variables,_and_literals#Escaping_characters)) –

+0

您需要document.location? –

相關問題