#javascript
#javascript
Вопрос:
Я написал следующий код для идентификации текущей страницы и соответствующей маркировки ее на панели навигации. Он работает отлично, за исключением первого раза index.php загружается (код находится в конце header.php файл:
path = location.pathname.split("/");
pathname= "#header_nav li a[href='" path[(path.length-1)] "']";
$(pathname).attr("id","current");
есть идеи?
Ответ №1:
Если URL-адрес страницы http://domain / вместо http://domain/index.php вы не будете сопоставлять a-элемент с href=»index.php «.
Как насчет этого?
var filename = location.pathname.split('/').pop();
var currentHref = filename ||'index.php';
$('#header_nav li a[href="' currentHref '"]').prop('id','current');
Имейте в виду, что в jQuery 1.6 вы должны ссылаться на атрибут id, используя функцию prop() вместо attr() . Однако я бы предпочел использовать для этого имя класса current .
Комментарии:
1. спасибо, вы действительно были правы. у него не было index.php суффикс. что касается класса и идентификатора, я подумал, что, поскольку существует только одна текущая страница, имело бы смысл использовать идентификатор.
Ответ №2:
Попробуйте поместить свой код внутри .ready()
функции jQuery:
$(document).ready(function() {
path = location.pathname.split("/");
pathname= "#header_nav li a[href='" path[(path.length-1)] "']";
$(pathname).attr("id","current");
});