Как нужно правильно указывать пути?
Есть javascript код (или это jquery, я пока их не различаю), который выводит/прячет информацию в зависимости от адреса страницы.
$(document).ready( function() {
if ( location.pathname == "/" || location.pathname == "/pct_") {$('.kalf').hide();}
else { $('.kalf').show();}
});
Этот код я понимаю так:
если (путь равен "адресу сайта" или путь совпадает с "вложенной папкой pct_"), {то скрыть всё относящиеся к классу kalf} иначе {показывать}
Вопрос:
- А если требуется указать не точный адрес? например pct_ это только часть названия - index.html/pct_123 или index.html/pct_34255, или index.html/pct project0001 и тд
- А если в папке pct_123 есть вложенные страницы или подпапки на которых тоже нужно скрыть?
- А если нужно сделать обратные действия, то есть применить код не к перечисленным страницам, а ко всем кроме указанных?
- А если pct_ не первая подпапка, а под-под папка?
Мои варианты
по первому пункту мой вариант точно не работает)))
if ( location.pathname == "/" || location.search = "/pct_?") {$('.kalf').hide();}
по второму пункту даже предположений нет как это можно написать по третьему пункту хотела поменять равно на неравно, но тогда нужно будет перечислять все страницы, а если их сотни.... наверняка должен быть вариант попроще
if ( location.pathname != "/" || location.pathname != "/pct_" || location.pathname != "/pct_123" и тд) {$('.kalf').hide();}
по четвертому пункту предположила, что такое сработает, но нет
if ( location.pathname == "/" || location.pathname == "/../pct_") {$('.kalf').hide();}
Ответы (1 шт):
если требуется указать не точный адрес
Нужно искать по подстроке. Это может быть сделано например через String.includes
2.
А если в папке pct_123 есть вложенные страницы или подпапки
Js работает на клиенте. Проверка на "подпапки" должна быть на сервере
3.
А если нужно сделать обратные действия
Для этого есть знак ! в программировании, который может ставиться до условия (например if (!test) { ... }). Надо учить основы
4.
А если pct_ не первая подпапка, а под-под папка
Аналогично второму пункту
если их сотни
нужно смотреть на цели и задачи. В каком-то достаточно ориентироваться на часть пути, в каком-то придётся составить массив путей и проверять на вхождение через array.includes, в какой-нибудь другой задаче ещё как-либо