2017-04-24 58 views
-1

我試圖根據url設置一個body類 - 我可以使用它來使用普通的/Tablet/ url,如下面的代碼。使用參數設置基於url的body類

但我需要將它設置爲一個具有參數的url,並且我無法使其工作。我如何做到這一點與此網址?

/Tablets/?param=grid&pld0page=1&spcs=1

腳本:

$(function() { 
    var loc = window.location.href; // returns the full URL 
    if(/Tablets/.test(loc)) { 
    $('body').addClass('test'); 
    } 
}); 
+2

相當混亂替換您的代碼。你能改說嗎? –

+0

混淆?如果URL是/ Tablets /?param = grid&pld0page = 1&spcs = 1 –

+0

那麼我想要設置一個body類。查詢參數的順序是否重要? – Phil

回答

0

如果,你在評論中提到,查詢參數順序重要的是,你可以使用這個...

var url = location.pathname + location.search 
console.info(url) 

$(document.body).toggleClass('test', 
    url === '/Tablets/?param=grid&pld0page=1&spcs=1') 

這讓您可以省略URL方案,主機和端口部分,僅關注路徑和查詢參數。

+0

Hmm。它創建了body,但不添加類。 –

+0

@JerrySvensson什麼是URL?我已經添加了一些示例調試代碼。檢查你的控制檯 – Phil

+0

好的,工作。我的網址是/ products/Computers/Tablets /?param = grid&pld0page = 1&spcs = 1,我認爲這對於平板電腦部分已經足夠了 - 謝謝! –

0

您可以使用此

$(function() { 
var url = window.location.href; 
    url = url.replace(/^.*\/\/[^\/]+/, '') 
    if(url == '/Tablets?param=grid&pld0page=1&spcs=1') { 
    $('body').addClass('test'); 
    } 
}); 

如果您的網址是 「http://www.google.com/?param=grid&pld0page=1&spcs=1」,那麼上述QueryString變量將等於"?param=grid&pld0page=1&spcs=1".

您可以檢查該串不爲空

+0

不確定如何適合上述代碼,或如何正確使用它。 –

+0

@JerrySvensson我已更新答案。請檢查它是否適用於您 –

+0

謝謝 - 完美的作品 –

0

你只需要在url字符串中搜索你想要的文本。你在上面的代碼中做得很好。只是改變includeshere

$(function() { 
    var loc = window.location.href; // returns the full URL 
    if(loc.includes('Tablets')) { // will return true/false 
    $('body').addClass('test'); 
    } 
}); 

閱讀。如果您正在檢查url中的其他字符串,您也可以爲其他測試執行相同的操作。希望這可以幫助。

+0

這將匹配如果出現** Tablets ** ** URL中的任何**,例如'?param = grid&pld0page = 1&spcs = 2&Tablets = Tablets' – Phil

+0

如果您想要,您可以爲搜索提供特定模式。 –

+0

@Phil看着這個問題,似乎應該在類之間切換,如果它在url中有'Tablets'。我敢肯定,上面的片段會做到這一點。 –

0

var loc = 'http://localhost/Tablets/?param=grid&pld0page=1&spcs=35'; 
 
var patt = new RegExp("/Tablets/"); 
 

 
if(patt.test(loc) && loc.split('?').length > 1) 
 
{ 
 
console.log('true'); 
 
$('body').addClass('test'); 
 

 
} 
 
else 
 
{ 
 
console.log('false'); 
 
$('body').removeClass('test'); 
 

 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

0

與此

var loc = window.location.href; // returns the full URL 
var url = loc.split('/'); 
var chunk = url[ url.length - 2 ]; 
if(loc.indexOf(chunk) >= 0) { 
    $('body').addClass('test'); 
}