У меня есть панель навигации сбоку страницы и вы хотите выделить одну из нескольких записей в зависимости от параметров GET.Пытается манипулировать стилем CSS с помощью jQuery
После небольшого чтения я пришел к этому решению, но это не похоже на работу:
в .html:
<script type="text/javascript">
$(document).ready(highlight_me());
</script>
функции JS:
function highlight_me() {
// ensure all links have class 'regular'
document.links.className = 'regular';
// determine which link to highlight
var id = 'home';
switch (querystring('view')) {
case "set":
id = 'settings';
break;
case "mc":
id = 'messages';
break;
default:
id = 'home';
}
// highlight link
document.getElementById(id).className = 'highlight';
}
function querystring(key) {
// extract GET-value for key
var re = new RegExp('(?:\\?|&)' + key + '=(.*?)(?=&|$)', 'gi');
var r = [], m;
while ((m = re.exec(document.location.search)) != null) r[r.length] = m[1];
return r;
}
классы CSS:
a, a.regular, a:visited {
color: #f0ce96;
}
a:active, a:hover, a.highlight {
text-decoration: underline;
color: #ffeebb;
}
Я был бы благодарен за подсказку, которая указывает мне, где я ошибаюсь.
параметр идентификатор не является обязательным - если ни один или кроме указанных из них не заданы, идентификатор по умолчанию для «дома» –
, ИС, кажется, правы, я не знаю много о регулярных выражениях, но вы отлаживали функцию querystring, чтобы проверить, делает ли она то, что вы хотите? – Gori
Ах ... мог бы подумать об этом. Это, где проблема, кажется, - я просто скопировал эту функцию из какого-то места, потому что кто-то заявил, что она сработала, поэтому у меня фактически нет реальной идеи, что этот фрагмент кода наконец-то делает ... –