2016-04-24 4 views
0

Я работаю с woocommerce. При использовании фильтров продукта она оказывает URL со строкой запроса (или то, что я думаю, что это строка запроса) http://www.webdesignui.com/looms/browse/?filtering=1&filter_collection=1481Добавить класс в <body>, если строка запроса находится в url

По какой-то причине WooCommerce не меняет класса тела на основе URL вы находитесь. Он сохраняет «архив» как класс тела.

Я хотел бы выяснить способ сказать, если url имеет? Filtering =, add class = "filterison". Что-то вроде этого

<script> 
$(document).ready(function() { 
    if(url.indexOf('a[href*="/looms/browse/?filtering=1') > -1){ 
     $("body").addClass("filterison"); 
    } 
}); 
</script> 
+0

Не должно быть '.indexOf ('filtering =')'? Вам не нужна часть 'a [href * =" ', и вам действительно не нужна остальная часть URL-адреса до того, как это произошло. – nnnnnn

ответ

1

Вы спутать между Jquery типа селекторного синтаксиса с обычным способом строки indexOf.

Если вы хотите найти строку с подстрокой, вы должны использовать indexOf, которая выводит индекс начального символа подстроки в основной строке.

EG: "I am a main string".indexOf('string') даст индекс s в качестве выходного

Так что в вашем случае это должно быть

$(document).ready(function() { 
    if(url.indexOf('/looms/browse/?filtering=1') > -1){ 
     $("body").addClass("filterison"); 
    } 
}); 
+0

Привет, Reddy, спасибо за ответ. Я добавил код, который вы предоставили, и это все еще не добавляя -1 на самом деле, жаль, новичок здесь, пытаясь понять все это – Tom

+0

Это просто способ проверить подстроку .. Поэтому при проверке подстроки в большей строке подстрока может возникнуть прямо в начале. В этом случае IndexOf вернет 0 .. Итак, логика похожа на 0> -1 ... –

+0

Gotcha. На основе кода, который вы предоставили, я все еще не получаю добавление класса body, если доступна фильтрация. Любые идеи? – Tom

0

Это был последний код, который я смог работать

<script type="text/javascript"> 
$(document).ready(function() { 
    if(window.location.href.indexOf("?") > -1) { 
     $("body").addClass("filterison"); 
    } 
}); 
</script> 

 Смежные вопросы

  • Нет связанных вопросов^_^