Я хотел бы jQuery вытащить URL-адрес, а затем проанализировать его, чтобы найти аэропорты. Если обнаружено аэропортов, я хотел бы добавить класс в тег списка <a
>, который содержит html «Аэропорты».using location.pathname, чтобы добавить класс
Это то, что я до сих пор:
JQuery
path_name=location.pathname;
if ((path_name.search("airports") > 0) {
$("div.more li a").find(":contains('airports')").addClass("current-menu-item");
}
HTML, выглядит следующим образом:
<ul>
<a class="static" href="#">ALL</a>
<li><a class="static" href="#">AIRPORTS</a></li>
</ul>
URL заключается в следующем:
http://localhost/site/?type=airports
Является ли это проблемой синтаксиса или проблемой «Попробуйте другой способ»?
UPDATE:
Использование предупреждений предложение, я был в состоянии проверить, я получаю URL с помощью location.search. var search_name = location.search; alert (search_name);
дал мне всплывающий
?type=airports
Так я получаю правильно загруженные переменные, я просто не могу написать логику, чтобы добавить класс. Пока предложения не работают.
ОБНОВЛЕНИЕ 2
Это работает для изолированного инцидента.
var search_name = location.search;
if (search_name.search("airports") > 0) {
alert(search_name);
$("div.more a:contains('AIRPORTS')").addClass("active");
}
});
Я хотел бы сделать немного более гибким, передав переменную.
Как вы это делаете? Это то, что у меня есть
$(function() {
var search_name = location.search;
if (search_name.search("+ search_name +") > 0) {
alert(search_name);
$("div.more a:contains('AIRPORTS')").addClass("active");
}
});
Но это не работает.
попробовать 'search_name.search (SEARCH_NAME)' вместо 'search_name.search ("+ SEARCH_NAME +")' –