Я хочу, чтобы мой JQuery выбирал одну из навигационных ссылок — на основе страницы, на которой я нахожусь —, а затем я хочу, чтобы она переместила ее в начало списка.Переменная не установлена правильно; как исправить?
Это HTML моей панели навигации:
<nav>
<ul id=nav>
<li><a href="index.php">Home</a></li>
<li><a href="skillsets.php">Skillsets</a></li>
<li><a href="gallery.php"><icon>Gallery</a></li>
<li><a href="about.php">About</a></li>
<li><a href="contact.php">Contact</a></li>
</ul>
</nav>
Это JQuery я использую, чтобы попытаться изменить порядок списка:
var page = document.location.pathname.match(/[^\/]+$/)[0];
$(document).ready(function(){
var ul = $('nav').children('ul'),
li = ul.children('li'),
href = $('a[href*='+page+']');
//move element to top
ul.prepend(href.parent());
});
Это не работает, и я бы предположим, что это потому, что переменная href
установлена неправильно. alert(href);
и alert(href.parent());
ничего не выводить.
Любые идеи? Благодаря!
Вы пытались добавить кавычки вокруг переменной страницы? 'href = $ ('a [href * = \' '+ page +' \ ']');' – Justinas
, как упоминает Justinas Jurciukonis, должен использовать кавычки вокруг части значения, поскольку в пути страницы могут быть некоторые символы регулярного выражения (т.е.:.? и т. д.), должна быть ошибка в вашей консоли о 'unrecognized expression' –
@JustinasJurciukonis Это сработало; но зачем мне добавлять две скобки и скобки? – LarryK